diff --git a/.boring b/.boring
deleted file mode 100644
--- a/.boring
+++ /dev/null
@@ -1,59 +0,0 @@
-# Project specific
-\.setup-config$
-autom4te\.cache
-c2hs\.spec$
-c2hs/c/CLexer\.hs$
-c2hs/c/CParser\.hs$
-c2hs/c2hs$
-c2hs/c2hs-inplace$
-c2hs/tests/.*\.hs$
-c2hs/tests/.*\.h$
-\.chi$
-c2hs/tests/enums$
-c2hs/tests/marsh$
-c2hs/tests/pointer$
-c2hs/tests/structs$
-c2hs/toplevel/C2HSConfig\.hs$
-c2hs/toplevel/Version\.hs$
-config\.log$
-config\.status$
-configure$
-^dist
-doc/c2hs/Makefile$
-doc/c2hs/.*\.html$
-doc/c2hs/.*\.txt$
-doc/c2hs/man1/c2hs.1
-postInst\.sh
-#
-# Boring file regexps:
-\.hi$
-\.o$
-\.o\.cmd$
-\.ko$
-\.ko\.cmd$
-\.mod\.c$
-(^|/)\.tmp_versions($|/)
-(^|/)CVS($|/)
-(^|/)RCS($|/)
-~$
-#(^|/)\.[^/]
-(^|/)_darcs($|/)
-\.bak$
-\.BAK$
-\.orig$
-(^|/)vssver\.scc$
-\.swp$
-(^|/)MT($|/)
-(^|/)\{arch\}($|/)
-(^|/).arch-ids($|/)
-(^|/),
-\.class$
-\.prof$
-(^|/)\.DS_Store$
-(^|/)BitKeeper($|/)
-(^|/)ChangeSet($|/)
-(^|/)\.svn($|/)
-\.py[co]$
-\#
-\.cvsignore$
-(^|/)Thumbs\.db$
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
--- a/.gitignore
+++ /dev/null
@@ -1,170 +0,0 @@
-/.cabal-sandbox/*
-/cabal.sandbox.config
-*.chi
-*.chs.h
-/dist/*
-*.hi
-/issues/*
-*.o
-/.shelly/*.txt
-/tests/bugs/call_capital/Capital
-/tests/bugs/call_capital/Capital.chi
-/tests/bugs/call_capital/Capital.chs.h
-/tests/bugs/call_capital/Capital_c.o
-/tests/bugs/call_capital/Capital.hi
-/tests/bugs/call_capital/Capital.hs
-/tests/bugs/call_capital/Capital.o
-/tests/bugs/issue-09/Issue09.hs
-/tests/bugs/issue-102/Issue102
-/tests/bugs/issue-102/Issue102.hs
-/tests/bugs/issue-103/Issue103A.hs
-/tests/bugs/issue-103/Issue103.hs
-/tests/bugs/issue-107/Issue107
-/tests/bugs/issue-107/Issue107.hs
-/tests/bugs/issue-10/Issue10
-/tests/bugs/issue-10/Issue10.hs
-/tests/bugs/issue-10/Issue10.i
-/tests/bugs/issue-113/Issue113
-/tests/bugs/issue-113/Issue113.hs
-/tests/bugs/issue-115/Issue115
-/tests/bugs/issue-115/Issue115.hs
-/tests/bugs/issue-116/Issue116
-/tests/bugs/issue-116/Issue116.hs
-/tests/bugs/issue-15/Issue15
-/tests/bugs/issue-15/Issue15.hs
-/tests/bugs/issue-16/Issue16
-/tests/bugs/issue-16/Issue16.hs
-/tests/bugs/issue-19/Issue19
-/tests/bugs/issue-19/Issue19.hs
-/tests/bugs/issue-20/Issue20.i
-/tests/bugs/issue-22/Issue22
-/tests/bugs/issue-22/Issue22.hs
-/tests/bugs/issue-23/Issue23
-/tests/bugs/issue-23/Issue23.hs
-/tests/bugs/issue-29/Issue29.hs
-/tests/bugs/issue-29/Issue29.i
-/tests/bugs/issue-30/Issue30
-/tests/bugs/issue-30/Issue30Aux1.hs
-/tests/bugs/issue-30/Issue30Aux2.hs
-/tests/bugs/issue-30/Issue30.hs
-/tests/bugs/issue-31/Issue31
-/tests/bugs/issue-31/Issue31.hs
-/tests/bugs/issue-32/Issue32
-/tests/bugs/issue-32/Issue32.hs
-/tests/bugs/issue-36/Issue36
-/tests/bugs/issue-36/Issue36.hs
-/tests/bugs/issue-37/Issue37
-/tests/bugs/issue-37/Issue37.hs
-/tests/bugs/issue-38/Issue38
-/tests/bugs/issue-38/Issue38.hs
-/tests/bugs/issue-43/Issue43
-/tests/bugs/issue-43/Issue43.hs
-/tests/bugs/issue-44/Issue44
-/tests/bugs/issue-44/Issue44.hs
-/tests/bugs/issue-45/Issue45
-/tests/bugs/issue-45/Issue45.hs
-/tests/bugs/issue-46/Issue46
-/tests/bugs/issue-46/Issue46.hs
-/tests/bugs/issue-47/Issue47
-/tests/bugs/issue-47/Issue47.hs
-/tests/bugs/issue-51/Issue51
-/tests/bugs/issue-51/Issue51_GNU
-/tests/bugs/issue-51/Issue51_GNU.hs
-/tests/bugs/issue-51/Issue51.hs
-/tests/bugs/issue-51/Issue51_nonGNU
-/tests/bugs/issue-51/Issue51_nonGNU.hs
-/tests/bugs/issue-54/Issue54
-/tests/bugs/issue-54/Issue54.hs
-/tests/bugs/issue-60/Issue60
-/tests/bugs/issue-60/Issue60.hs
-/tests/bugs/issue-60/Issue60.i
-/tests/bugs/issue-62/Issue62
-/tests/bugs/issue-62/Issue62.hs
-/tests/bugs/issue-65/Issue65
-/tests/bugs/issue-65/Issue65.hs
-/tests/bugs/issue-69/Issue69
-/tests/bugs/issue-69/Issue69.hs
-/tests/bugs/issue-70/Issue70.hs
-/tests/bugs/issue-73/Issue73
-/tests/bugs/issue-73/Issue73.hs
-/tests/bugs/issue-75/Issue75
-/tests/bugs/issue-75/Issue75.hs
-/tests/bugs/issue-79/Issue79
-/tests/bugs/issue-79/Issue79.hs
-/tests/bugs/issue-7/Issue7.hs
-/tests/bugs/issue-7/Issue7.i
-/tests/bugs/issue-80/Issue80
-/tests/bugs/issue-80/Issue80.hs
-/tests/bugs/issue-82/Issue82
-/tests/bugs/issue-82/Issue82.hs
-/tests/bugs/issue-83/Issue83
-/tests/bugs/issue-83/Issue83.hs
-/tests/bugs/issue-93/Issue93
-/tests/bugs/issue-93/Issue93.hs
-/tests/bugs/issue-95/Issue95
-/tests/bugs/issue-95/Issue95.hs
-/tests/bugs/issue-96/Issue103
-/tests/bugs/issue-96/Issue96
-/tests/bugs/issue-96/Issue96.hs
-/tests/bugs/issue-97/Issue97
-/tests/bugs/issue-97/Issue97A.hs
-/tests/bugs/issue-97/Issue97.hs
-/tests/bugs/issue-98/Issue98
-/tests/bugs/issue-98/Issue98.hs
-/tests/bugs/issue-9/Issue9
-/tests/bugs/issue-9/Issue9.hs
-/tests/system/calls/Calls.hs
-/tests/system/cpp/Cpp.hs
-/tests/system/enums/enums
-/tests/system/enums/Enums.hs
-/tests/system/marsh/marsh
-/tests/system/marsh/Marsh.hs
-/tests/system/pointer/pointer
-/tests/system/pointer/Pointer.hs
-/tests/system/simple/simple
-/tests/system/simple/Simple.hs
-/tests/system/sizeof/sizeof
-/tests/system/sizeof/Sizeof.hs
-/tests/system/structs/structs
-/tests/system/structs/Structs.hs
-/tests/bugs/issue-20/Issue20
-/tests/bugs/issue-20/Issue20.hs
-/tests/bugs/issue-25/Issue25
-/tests/bugs/issue-25/Issue25.hs
-/tests/bugs/issue-48/Issue48
-/tests/bugs/issue-48/Issue48.hs
-/tests/bugs/issue-123/Issue123
-/tests/bugs/issue-123/Issue123.hs
-/tests/bugs/issue-102/issue-102.txt
-/tests/bugs/issue-117/Issue117
-/tests/bugs/issue-117/Issue117.hs
-/tests/bugs/issue-117/Issue117.chs.c
-/tests/bugs/issue-127/Issue127
-/tests/bugs/issue-127/Issue127.hs
-/tests/bugs/issue-128/Issue128
-/tests/bugs/issue-128/Issue128.chs.c
-/tests/bugs/issue-128/Issue128.hs
-/tests/bugs/issue-131/Issue131.chs.c
-/tests/bugs/issue-131/Issue131.hs
-/tests/bugs/issue-131/Issue131
-/tests/bugs/issue-130/Issue130
-/tests/bugs/issue-130/Issue130.hs
-/tests/bugs/issue-133/Issue133
-/tests/bugs/issue-133/Issue133.hs
-/tests/bugs/issue-136/Issue136.hs
-/tests/bugs/issue-136/Issue136
-/tests/bugs/issue-134/Issue134
-/tests/bugs/issue-134/Issue134.hs
-/tests/bugs/issue-151/Issue151.hs
-/tests/bugs/issue-149/Issue149
-/tests/bugs/issue-149/Issue149.hs
-/tests/bugs/issue-141/Issue141A.hs
-/tests/bugs/issue-141/Issue141B.hs
-/tests/bugs/issue-152/Issue152
-/tests/bugs/issue-140/Issue140
-/tests/bugs/issue-140/Issue140.hs
-/tests/bugs/issue-152/Issue152.hs
-/tests/bugs/issue-155/Issue155
-/tests/bugs/issue-155/Issue155.hs
-/tests/bugs/issue-152/Issue152.hs
-/tests/bugs/issue-155/Types.hs
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
--- a/.travis.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-env:
-  global:
-    - AWS_ACCESS_KEY_ID=AKIAIKUEH2ETWTBS2CKQ
-    - secure: "Jzawnhgk3dX2INzbZIlnHCH+aKWqy96B9T1hzBh/Fqp4whglaZDO0mTLHQnhypqAt1rXO2o3yBNcKgGOcgfUuE71uBCzzaXieB0p8BhYn7cwYeANbuKNOGrsP6oDutS5F57FNWwgRp+2oanpgJNOs/6wvfElA7W6ibN8tZiLQrw="
-  matrix:
-    - GHCVER=7.10.3
-
-before_install:
- - travis_retry sudo add-apt-repository -y ppa:hvr/ghc
- - travis_retry sudo apt-get update
- - travis_retry sudo apt-get install libnetcdf-dev libgsl0-dev liblapack-dev
- - travis_retry sudo apt-get install cabal-install-1.24 ghc-$GHCVER-prof ghc-$GHCVER-dyn happy
- - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/1.24/bin:$PATH
-
-install:
-  - sudo apt-get update -qq
-  - sudo pip install awscli
-  - cabal update
-  - |
-    if [ $GHCVER = "head" ] || [ ${GHCVER%.*} = "7.8" ] || [ ${GHCVER%.*} = "7.10" ]; then
-      travis_retry sudo apt-get install happy-1.19.5 alex-3.1.7
-      export PATH=/opt/alex/3.1.7/bin:/opt/happy/1.19.5/bin:$PATH
-    else
-      travis_retry sudo apt-get install happy alex
-    fi
-  - cabal install --only-dependencies --enable-tests -fregression
-
-script:
-  - cabal install && cabal configure --enable-tests -fregression && cabal build && cabal test
-  - ./dist/build/regression-suite/regression-suite
diff --git a/ChangeLog.CTKlight b/ChangeLog.CTKlight
deleted file mode 100644
--- a/ChangeLog.CTKlight
+++ /dev/null
@@ -1,465 +0,0 @@
-2005-05-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* Makefile: Evil Hack to be able create base.build.conf before
-	building `libctk.a'
-
-2005-05-18  André Pang  <ozone@algorithm.com.au>
-
-	* Adaptation to GHC 6.4 and the Cabal package system
-
-2005-05-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* admin/BaseVersion.hs (versnum): 0.27.0
-
-2004-05-15  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* configure.in: Using `egrep' is available (as grep on SunOS
-	doesn't handle regular expressions) noticed by Matthias Neubauer
-	<neubauer@informatik.uni-freiburg.de>
-
-	* syntax/Parsers.hs (execParser): Added a token mapping as an
-	extra argument
-
-2003-10-19  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* configure.in: Support for Mac OS X by Sean Seefried
-	<sseefried@cse.unsw.edu.au>
-
-2003-10-19  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* sysdep/Makefile: Posix (and hence, `runPiped') support disabled,
-	as `runPiped' (1) isn't really used at the moment, (2) should be
-	rewritten anyway, and (3) breaks with GHC 6.3 as the signature of
-	`forkProcess' changed.
-
-	* admin/BaseVersion.hs (versnum): 0.26.0
-
-2003-06-10  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../mk/common.mk (MKDEPENDFILES): defined ghc6
-
-	* syntax/Makefile (RANK2): defined ghc6
-
-	* sysdep/Makefile (SRCS): defined SysDepGHC6.hs as an alias for
-	SysDepGHC4.hs
-
-	* admin/BaseVersion.hs (versnum): 0.25.1
-
-2003-03-13  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/Sets.hs (domSetFM): added
-
-	* general/FiniteMaps.hs (domFM): added
-	(imageFM): added
-
-	* admin/BaseVersion.hs (versnum): 0.25.0
-
-2003-02-12  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/UNames.hs: we derive `Show Name' explicitly to print the
-	number only
-
-2003-02-05  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/FileOps.hs (mktemp): added
-
-2003-02-01  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../common.mk: I wasn't careful when removing the ability (for
-	the user) to invoke make in the part directories and hence the
-	ability to check dependencies in these directories.  As a result,
-	recursive invocations of make tried to check dependencies in part
-	directories and erroneously decided that the target is alreasy up
-	to date.  Now the object file are removed before descending into
-	the recursive make.
-
-	* ../common.mk (gendepend): remove $(DEPEND) first
-
-	* admin/BaseVersion.hs (versnum): 0.24.3
-
-2002-09-16  Manuel M T Chakravarty  <chak@AttitudeAdjuster>
-
-	* Makefile (libctk.o): generating library for GHCi
-
-2002-09-06  Manuel M T Chakravarty  <chak@AttitudeAdjuster>
-
-	* Makefile (OBJS): excluded state/DynArrays.o from the target
-	objects for nhc98 (as it chokes on that module)
-
-2002-05-16  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* changed name if base package to `ctk' to not clash with GHC's
-	new package naming scheme
-
-	* admin/BaseVersion.hs (versnum): 0.24.2
-
-2002-03-22  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: test for availability of the `posix' package
-	made more reliable
-	
-	* admin/BaseVersion.hs (versnum): 0.24.1
-
-2002-03-12  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* Makefile: revised to new build system
-
-	* admin/BaseVersion.hs (versnum): 0.24.0
-
-2002-03-06  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/Sets.hs (isSuperSet): cut'n'pasto
-
-2002-03-05  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* Makefile: fixed libctk.a target
-
-	* ../configure.in: make sure to include the posix package only for
-	GHC (and not for nhc98)
-
-	* admin/BaseVersion.hs (versnum): 0.23.1
-
-2002-02-11  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* Makefile: we are now creating a library archive to use packages
-
-2002-02-10  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../mk/common.mk: added package support
-
-	* ../configure.in: added package support; replaced -syslib by -package
-
-	* admin/BaseVersion.hs (versnum): 0.23.0
-
-2002-01-06  Manuel M T Chakravarty  <chak@cse.unsw.edu.au>
-
-	* common.mk: removed TMP as it causes problems on cygwin as
-	reported by Karl M. Syring <syring@web.de>
-
-	* admin/BaseVersion.hs (versnum): 0.22.5
-
-2001-09-26  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/UNames.hs: nhc98 1.08 doesn't grok deriving Ix
-
-	* ../configure.in: better support for nhc98 
-
-	* admin/BaseVersion.hs (versnum): 0.22.4
-
-2001-05-20  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* state/CIO.hs (doesFileExistCIO): added by Axel Simon <simona_@web.de>
-
-2001-05-13  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* Makefile (spotless): remove config.cache
-
-2001-04-21  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: Adapted to support ghc 5.x and removed support
-	for ghc 3.x
-
-	* admin/BaseVersion.hs (versnum): 0.22.3
-
-2000-10-05  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: uses the fptools macro for determining ghc's
-	version number
-
-2000-10-02  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* errors/Errors.hs (showError): special handling of internal positions
-
-	* admin/Common.hs: added internal positions
-
-	* admin/BaseVersion.hs (versnum): 0.22.2
-
-2000-09-15  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: corrected ghc version number extraction to
-	correctly handle patch levels; added happy - most have gone lost
-	earlier...
-
-2000-09-12  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* syntax/Pretty.hs (<>): debugged
-
-2000-09-11  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* syntax/Pretty.hs (Pretty): type class for pretty printing
-	(infixOp): added
-	(usedWhen): added
-	(punctuate): added
-	(dot): added
-
-	* admin/BaseVersion.hs (versnum): 0.22.1
-
-2000-09-07  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* syntax/Pretty.hs: Revision of the interface; the interface is
-	now 90% compatible to SimonPJ's `Pretty' module; debugging
-	(fullRender): dropping leading '\n's
-	some more combinators
-
-	* admin/BaseVersion.hs (versnum): 0.22.0
-
-2000-09-03  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* admin/Common.hs (tabPos): Roman pointed out that tab stops
-	should be at 1, 9, ... rather than 0, 8, ...
-
-2000-09-02  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* admin/BaseVersion.hs (versnum): 0.21.1
-
-2000-08-18  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* sysdep/Makefile: Moved the posix stuff into an extra module,
-	which can be enabled individually
-
-	* ../configure.in: CygWin support; based on suggestions by Anibal
-	Maffioletti Rodrigues de DEUS <anibaldedeus@email.com>
-
-	* ../configure.in: uses -silent on lndir only if supported (isn't
-	supported before X11R6, says Jan Kort <kort@wins.uva.nl>)
-
-	* admin/BaseVersion.hs (versnum): 0.21.0
-
-2000-08-08  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* syntax/Lexers.hs: Changed the associativity of `quest`, `star`,
-	and `plus`.  This change was suggested by Martin Norbäck
-	<d95mback@dtek.chalmers.se>.
-
-	** WARNING **  This change may break some existing code!!!
-
-2000-06-19  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* admin/BaseVersion.hs (versnum): 0.20.2
-
-2000-04-06  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: -fasm-x86 is used only if --with-ghc-native is given
-
-	* general/Sets.hs (powerSet): impl
-
-2000-04-05  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* general/Sets.hs: derived Eq and Ord for FMs, which allows sets
-	of sets and added `isSubSet' and `isSuperSet'
-
-	* general/FiniteMaps.hs: derived Eq and Ord for FMs
-
-	* admin/BaseVersion.hs (date): 0.20.1
-
-2000-03-04  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../configure.in: fixes re compiler & option selection
-
-2000-03-01  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../mk/common.mk: fixed dependency computations
-
-	* ../configure.in: polished; on Linux, uses native code generator
-	when compiling with GHC 4.0x, x >= 7
-
-2000-02-27  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* syntax/Parsers.hs: table handling substantially rewritten to
-	improve the space behaviour
-
-	* general/Utils.hs: `Tag' class
-
-	* admin/BaseVersion.hs (versnum): 0.20.0
-
-2000-02-23  Manuel M. T. Chakravarty  <chak@cse.unsw.edu.au>
-
-	* ../mk/config.mk.in: set correct access modes in INSTALL_DATA
-
-1999-12-06  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* graphs/Marks.hs: newly implemented
-
-	* admin/BaseVersion.hs (versnum): 0.19.1
-
-1999-12-03  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* syms/Attributes.hs: instance Ord Attrs
-
-1999-12-02  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* sysdep/SysDepNHC1.hs: debugging
-
-1999-12-01  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* ../configure.in,../mk/common.mk: better dependency tool computation
-
-	* syms/Idents.hs: uses `Attributed'
-
-	* syms/Attributes.hs: `Attributed' type class, as suggested by
- 	Roman Lechtchinsky
-
-	* admin/BaseVersion.hs (versnum): 0.19.0
-
-	* sysdep/SysDepNHC1.hs: Started the system dependent module for
-	nhc98 with assistance from Malcolm Wallace
-
-1999-11-30  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* state/StateTrans.hs: Adapted to new names in mutable variables API
-
-	* general/UNames.hs: Adapted to new names in mutable variables API
-
-	* sysdep/SysDepGHC3.hs: adapted to new names of exported entities
-
-	* sysdep/SysDepGHC4.hs: Cleaned up; no GHC internal stuff is used
-	anymore (some of the names of exported entities changed!)
-
-	* sysdep/Makefile: Added support for nhc98
-
-	* ../configure.in & friends: Added support for nhc98
-
-	* admin/BaseVersion.hs (versnum): 0.18.2
-
-1999-11-17  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* ../mk/config.mk.in: introduced `docdir' and `pkgdocdir'
-	
-	* Make system debianised, according to the suggestions and the
- 	patches of Michael Weber <michael.weber@Post.RWTH-Aachen.DE>
-
-	* admin/BaseVersion.hs (versnum): 0.18.1
-
-1999-11-07  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* general/FileOps.hs (fileFindIn): debugged
-
-1999-11-06  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* general/FileOps.hs: new module; implemented `fileFindIn'
-
-	* general/FNameOps.hs (addPath): added
-
-	* admin/BaseVersion.hs (versnum): 0.18.0
-
-1999-10-29  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* admin/BaseVersion.hs (versnum): 0.17.17; fully modularised the
-	make system
-
-1999-10-25  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* state/CIO.hs (removeFileCIO): added
-
-	* admin/BaseVersion.hs (versnum): 0.17.16
-
-1999-10-24  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* syms/NameSpaces.hs (nameSpaceToList): added
-
-	* admin/BaseVersion.hs (versnum): 0.17.15
-
-1999-10-21  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* syms/Idents.hs (isLegalIdent): corrected `checkTail' - thanx Sven
-
-1999-10-16  Manuel M. T. Chakravarty  <chak@is.tsukuba.ac.jp>
-
-	* syms/NameSpaces.hs (defLocal): uses `defGloal' if there is no
-	local range
-
-	
-Pre GNU-style change log
-------------------------
-
-0.17.13
-~~~~~~~
-09Oct99 Debugging
-
-0.17.12
-~~~~~~~
-27Sep99 `CIO.systemCIO'
-26Sep99 Debugging and some more clean up of `Lexers'
-25Sep99 Some convenience function on `Position's in `Common'
-23Sep99 Added `\v' to the control lexer
-
-0.17.11
-~~~~~~~
-22Sep99 Optimised and extended `Lexers' (meta actions can now return tokens or 
-	error messages); prepared the first separate distribution of CTKlight
-21Sep99 Debugged `Lexers'
-
-0.17.10
-~~~~~~~
-29Aug99 Added `Utils.lookupBy'
-
-0.17.9
-~~~~~~
-22Aug99 Throughly revised `Lexers' (according to SPJ's suggestions)
-12Aug99 Revised `Lexers.execLexer' (returns final state, changed semantics
-	of meta actions slightly, and structure simplified)
-
-0.17.8
-~~~~~~
-30Jul99 Clarified `NameSpaces'
-19Jul99 Using Roman's `Parsers.seplist1'
-
-0.17.7
-~~~~~~
-05Jul99 `Lexers' exports `ctrlLexer'
-
-0.17.6
-~~~~~~
-07Jun99 Small additions to `Idents'
-03Jun99 Small additions to `Attributes'
-
-0.17.5
-~~~~~~
-05Apr99 Configurable makefile variables from common.mk into new config.mk
-02Apr99 Small bug fixes
-31Mar99 `Parsers': Support for parsing prefixes
-30Mar99 Bug fixes (incl. `Parsers.sep')
-
-0.17.4
-~~~~~~
-13Mar99 Added meta actions to `Parsers'
-12Mar99 Revised for GHC 4.02 and Haskell 98
-11Mar99 Extension of parser library with threaded state
-04Mar99 Self-optimizing lexer library for regular expressions
-27Feb99 Self-optimizing LL(1) parser library a la Swierstra/Duponcheel 
-
-0.16.0
-~~~~~~
-11Feb99 `Idents.cloneIdent' & standard attributes in `Attributes'
-
-0.15.0
-~~~~~~
-02Feb99 `Set' module
-
-0.14.2
-~~~~~~
-23Jan99 `Ident' got an instance for `Show'
-
-0.14.1
-~~~~~~
-01Dec98 Extracted mk/dhc.mk and mk/nepal.mk from mk/common.mk
-
-0.14.0
-~~~~~~
-13Nov98 Rewrote `CST' into `PreCST' that provides an extra state (part of the
-	base state) that can be instantiated by an client compiler using the
-	Toolkit.  As a consequence, `state/Switches' can be moved into DHC.
-
-0.13.0
-~~~~~~
-10Nov98 admin/Version.hs
-
-0.12.0
-~~~~~~
-19Oct98 Added Sven Panne's `GetOpt' to general/
-
-0.11.1
-~~~~~~
-23Sep98	Completely overhauled Makefile system.
-
-29Jul98	Finished extraction from what was originally called the HiPar toolkit.
diff --git a/README.CTKlight b/README.CTKlight
deleted file mode 100644
--- a/README.CTKlight
+++ /dev/null
@@ -1,80 +0,0 @@
-		       Compiler Toolkit - Light			     -*-text-*-
-		       ========================
-
-Contents:
-
-  README.CTKlight -- This file
-  LICENSE.LIB	  -- GNU Library General Public License (LGPL)
-  BaseVersion.hs  -- Version, copyright, and disclaimer
-  Config.hs	  -- Configuration module
-  Common.hs	  -- Basic definitions, such as representation of positions
-  DLists.hs	  -- Difference lists - provide O(1) append
-  Errors.hs	  -- Types and functions for error handling
-  FNameOps.hs	  -- Common operations on file names
-  FiniteMaps.hs	  -- Finite maps based on 2-3 trees
-  GetOpt.hs	  -- Sven Panne's Haskell version of the GNU getopt library
-  Lexers.hs	  -- Self-optimising lexer combinators
-  Parsers.hs	  -- Self-optimising parser combinators
-  Pretty.hs	  -- Pretty printing combinators (the interface is essentially
-		     a superset of SimonPJ's pretty printing library)
-  Sets.hs	  -- Sets as an instance of the above mentioned finite maps
-  Utils.hs	  -- Utility routines
-
-The Compiler Toolkit Light (CTKlight) is a subset of the Compiler Toolkit
-(CTK) - an infrastructure for writing compilers in Haskell.  CTKlight
-essentially provides support for implementing syntactical analysis without the
-more heavy-weight state management (like compiler switches, global error pool,
-and exceptions), identifier and attribute management, and various other
-utilities included in the full CTK.  Both packages can be obtained from
-
-  http://www.cse.unsw.edu.au/~chak/ctk/
-
-
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- BUILDING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-In contrast to full CTK, CTKlight is simply a set of Haskell modules without
-any complicated makefile structure.  The code is Haskell 98 compliant with the 
-exception that `Parser.hs' makes use of existentially quantified type
-variables - unfortunately, I do not believe that the same method of
-self-optimisation would work without existential types.
-
-The modules are tested with
-
-* GHC 4.02 and upwards (use `-fglasgow-exts' to compile `Parsers.hs') and
-* Hugs98 (use `-98' when using `Parsers.hs').
-
-If you want autoconf, a ready-made makefile structure, and much more
-additional library functionality, then use full CTK.
-
-
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COPYLEFT -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-This library is free software; you can redistribute it and/or modify it under
-the terms of the GNU Library General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your option) any
-later version.
-
-This library is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE.  See the GNU Library General Public License for more
-details.
-
-You should have received a copy of the GNU Library General Public License
-along with this system; if not, write to the Free Software Foundation, Inc.,
-675 Mass Ave, Cambridge, MA 02139, USA.
-
-Note: In essence this means that you can use this library in any program
-      whether it is free or proprietary.  However, if you modify or extend the
-      library itself, you are bound to distribute these modifications or
-      extensions according to the terms and conditions of the LGPL.  For
-      details consult the license itself, which is located in the file
-      `LICENSE.LIB'.
-
-
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- CREDITS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-Author & Maintainer: Manuel M. T. Chakravarty <chak@cse.unsw.edu.au>
-
-Thanks to Simon L. Peyton Jones <simonpj@microsoft.com> and Roman Lechtchinsky
-<wolfro@cs.tu-berlin.de> for their helpful suggestions that improved the
-design and implementation of the `Lexers' module.
diff --git a/README.md b/README.md
deleted file mode 100644
--- a/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-[![Build Status](https://travis-ci.org/haskell/c2hs.svg?branch=master)](https://travis-ci.org/haskell/c2hs)
-
-`c2hs` is a interfacing tool that eases Haskell access to C libraries.
-The tool gets information about the C data type definitions and
-function signatures by analysing the C header files of the library.
-It uses this information to compute the missing details in the
-template of a Haskell module &mdash; called the binding file &mdash;
-that implements a Haskell binding to the C library.  Hooks embedded in
-the binding file signal where, which, and how C objects are accessed
-from Haskell.  The Haskell code in the binding file determines Haskell
-types signatures and marshaling details.
-
-Further information is on the
-[wiki](https://github.com/haskell/c2hs/wiki/Home).  Also see the
-[user guide](https://github.com/haskell/c2hs/wiki/User-Guide) (also
-available in the `doc` directory of the repository).
-
-
-## Installing
-
-To install `c2hs` from Hackage:
-
-    cabal install c2hs
-
-If you like to build from the GitHub repository, see the file
-`INSTALL`.  See the `REGRESSION-SUITE` file for a description of how
-to run the regression suite for checking C2HS performance against
-existing Haskell packages that use it.
-
-
-## License
-
-All code **generated by** `c2hs` is under a BSD licence. Hence, `c2hs` is useful for both open and closed source projects.
-
-The tool itself is released under the GPLv2. This is the same situation as for the GNU C Compiler. For details, see the file `COPYING`.
diff --git a/REGRESSION-SUITE b/REGRESSION-SUITE
deleted file mode 100644
--- a/REGRESSION-SUITE
+++ /dev/null
@@ -1,50 +0,0 @@
-                        C2HS REGRESSION SUITE
-                        ~~~~~~~~~~~~~~~~~~~~~
-
-C2HS is flexible enough that it's difficult to write a test suite that
-covers all the cases of interest to users.  As well as a general test
-suite and tests for individual issues, it makes sense to test for C2HS
-regressions by installing a range of packages that use C2HS.
-
-The regression suite is managed as a single Cabal test suite called
-regression-suite.  This reads a YAML configuration file giving a list
-of packages to test against.  The test suite succeeds if a "cabal
-install" of each of the test packages succeeds without error, using
-the current version of C2HS.
-
-This process requires care for two reasons:
-
- 1. Because C2HS is an FFI tool, packages that use C2HS almost always
-    have dependencies on external libraries, so writing a simple test
-    suite is not straightforward.
-
- 2. It's undesireable to install a whole set of Haskell packages for
-    C2HS regression testing into the user's environment.
-
-To handle these two issues, the regression-suite test suite behaves as
-follows:
-
- ON TRAVIS
-
-  - Always run the regression suite.
-
-  - Install all library dependencies before attempting to install
-    Haskell packages.  These dependencies are given in the regression
-    suite configuration file as lists of APT package names, optionally
-    with PPAs to install them from, or as lists of shell commands to
-    use to install the dependencies.
-
- ON NON-TRAVIS SYSTEMS
-
-  - Only run the regression suite if the C2HS_REGRESSION_SUITE
-    environment variable is defined.
-
-  - Assume that all C library dependencies are already installed.
-
-  - Set Cabal flags from environment variables called
-    C2HS_REGRESSION_FLAGS_<package> if these variables exist.
-
-
-The idea is to test for regressions under well-controlled conditions
-at each commit on Travis, but maintain the possibility of running the
-regression suite locally as well.
diff --git a/TODO b/TODO
deleted file mode 100644
--- a/TODO
+++ /dev/null
@@ -1,289 +0,0 @@
-								     -*-text-*-
-                                C2HS TODO
-                                =========
-
-Next: - enum hooks should define cFromEnum/cToEnum as the default marshallers
-       (see comment at GenBind.lookupDftMarshIn).
-
-      - Especially with function hooks, it is not sufficient to emit line
-	pragmas whenever a new CHS fragment starts.  As some hooks expand to
-	multiple lines of Haskell code, we need to reemit the line number of
-	the hook once for each line of Haskell generated from it.
-
-      - Points raised by PeteG:
-	* The initial comment put by c2hs shouldn't be put in the first line,
-	  as this makes it difficult to add {-# OPTIONS #-} pragma to the .chs
-	  file, as this pragma must be in the first line.
-
-          The only sensible solution seems to be to copy the first line of the
-          .chs file on top if it starts with the string "{-# OPTIONS".
-
-      - Ian requests {#const SYM#} where SYM is a pre-preprocessor symbol to 
-        evaluate to the C value of SYM.  Main problem is that the value might
-        be of various C types.
-
-      - Tutorial
-
-      - GenBind.setGet: How is it justified that `bitsPerField' is
-        fixed to the size of `CInt'?  Does the C def guarantee
-	that bitfields types are of the same size?
-
-      Next Major feature to be added: structure marshalling.
-
-      - the `hsverb' should be normalised with respect to white space and
-        parenthesis 
-
-      - have an option to compute .chi dependencies; do this on a
-        module-by-module basis generating many small depend files rather than
-        one big one
-
-      - Pending suggestions from Axel Simon:
-	+ succ/pred definitions for enum hooks
-
-      - marshalling of structs
-
-      - We need to handle the time stamps of .chi files more carefully;
-        otherwise, we often get lots of unnecessary re-runs of c2hs.
-
-      - Conceptual problem with import hooks: Currently, everything imported
-        from a .chi file by a binding module is also dumped into its own .chi
-        file.  Is is not generally correct, but it would also not be correct
-        to omit everything that has been imported.  The conceptually correct
-        solution would be to dump an entry for a type into a .chi file if the
-        corresponding Haskell type is exported by the binding module.  To
-        achieve this, we would also need an export hook.  Moreover, we may
-        import the same object from different modules, due to an implicit
-        reexport at the moment.  Either eliminate those reexports, or we have
-        the same problems as in Haskell to determine object identity.
-
-      - c2hs has to properly process GNU C "aligned" attributes.  Otherwise,
-        it's routine to calculate structure layout may deviate from that of
-        the C compiler, which may lead to nasty bugs in bindings.
-
-      - the use of get/set hooks with `class'ed newtypes is complicated, as
-        the type doesn't match `Ptr a'; see, eg, `GtkCList.cListGetNoOfRows'
-
-      - class methods should be able to get user-defined names (needed for
-        GtkData.chs)
-
-      - GenBind.mergePtrMap could be improved (see the comment)
-
-      - {#enum ...#} should create an instance of Storable as follows:
-	  instance Storable MyEnum where
-	    sizeOf    _ = sizeOf    (undefined :: CInt)
-	    alignment _ = alignment (undefined :: CInt)
-
-	    peek p   = liftM cToEnum $ peek (castPtr p :: Ptr CInt)
-	    poke p v = poke (castPtr p :: Ptr CInt) (cFromEnum v)
-
-      - `GenBind.setGet' needs to take `C2HSConfig.bitfieldDirection' into
-        account; otherwise, setting and getting of bitfields won't work on
-        architectures where bitfields start at the MSB (rather than the LSB)
-
-      - Vorschlag von Axel Krauth <krauth@infosun.fmi.uni-passau.de>:
-        An option with which c2hs prints a list of all functions that have not
-        been bound in a header file.  The Position info schould be sufficient
-        to determine this.  Maybe also add {#ignore foo#}, which makes it not
-        list a given identifier (for private functions listed in the header).
-      - In `GdkGL.chs', the prefix is not properly removed from the
-        constructors of `GdkGL.Configs'; same problem with
-        `GdkEvents.EventType'
-      - install the executable (c2hs and c2hs-config) with a version number
-        suffix and make a symbolic link for the name without version number
-        (makes installing multiple versions easier)
-      - #define enum's (see below)
-      - intro a safe flag (as opposite to unsafe, but make safe the default)
-      - overload stdAddr etc for ForeignObj (stable ptr & cast)
-      - C2HSMarsh: from qrczak@knm.org.pl (Marcin 'Qrczak' Kowalczyk)
-	  mallocForeignObj:: Int -> IO ForeignObj     -- malloc + freeing finalizer
-      - C2HSMarsh: 
-	  (!!!)   :: FromAddr a => Ptr a -> Int -> IO a
-	  p !!! i  = do
-		       v <- fixIO $ deref (p `plusAddr` sizeof v * i)
-		       return v
-          (Use in GdkColor, then)
-	  Part of New FFI, so use that in GdkColor!
-      - C2HSMarhs:
-	for compound structures it is inconvenient that in a pointer-based
-        out, an initial value is needed; thus
-	  out   :: (Storable a, FromAddr a) => a -> Marsh a Addr
-	  out x  = malloc x :> addrStd
-	and this is also convenient
-	  inp   :: ToAddr a => a -> Marsh () Addr
-	  inp x  = stdAddr x :> free
-        Axel also proposes this
-	  byValue :: b -> Marsh () b
-	  byValue x = use x :> forget
-      - Axel suggests,
-	  2b. Automatisches Marshalling von Strukturen.
-	  Eigentlich müßte es doch möglich sein, automatisch Instanzen von
-	  Storable für Strukturen zu erstellen. Falls man mal einen generische
-	  Pointer hat, kann man ja mit der ... as ... Methode eigene
-	  Marshalling Funktionen zur Verfügung stellen. Oder habe ich da etwas
-	  grundsätzliches übersehen? 
-
-Short term
-~~~~~~~~~~
-* cpp directives on the very first line of the .chs file are ignored
-  because the lexer looks for \n#  This is very confusing to users.
-
-* The C99 spec says (sec. 6.7.2.1):
-
-       [#4] Each  enumerated  type  shall  be  compatible  with  an
-       integer     type.      The     choice     of     type     is
-       implementation-defined   but   shall   be   capable   of
-       representing  the  values  of  all  the   members   of   the
-       enumeration. [...]
-
-  Hence, c2hs has to be a bit more clever about determining the integral type
-  used to represent an enum.
-
-* The definition of `GenBind.HsObjectMap' doesn't take into account that in
-  Haskell a single name can be used for both a type and a class.
-
-* See FIXME at `GenBind.mergeMaps'.
-
-* Explain the grabbing of cpp -I options from -cppopts= (aka -C) values better 
-  in the docu and add something like:
-
-    I prefer that to giving an option to c2hs and passing it to
-    cpp, because - as you say - you usually already have a
-    variable with the cpp options in your makefile and this way
-    you can easily reuse it.
-
-* #define enums in C: siehe unten - scheinen aber wichtig
-
-* In pointer hooks after a `->', we currently allow only type identifiers;
-  other forms of Haskell types would be nice, too (especially, `()').
-
-* A function prototype that uses a defined type on its left hand side may
-  declare a function, while that is not obvious from the declaration itself
-  (without also considering the `typedef').  This is not understood by
-  `GenBind' so far.
-
-* Why is a stable name an `unsigned long' in C land?  How about a `void *' and 
-  being able to get the `Addr' also in Haskell land?
-
-* if in a binding file erroneously `t->m' is used instead of `t.m' and `t' is
-  the tag of a struct, the error message just complains that there is no type
-  object for called `t'; it would be more user friendly to report in addition
-  that the tag `t' exists, but cannot be used in this expression
-
-* Should it be possible to specify a calling convention in context hook?
-  Isn't it a mitake to have explicit calling convention in the FFI?  Shouldn't 
-  that be adapted automatically depending on the target architecture?
-
-* Sven: How about exporting Haskell functions (also dynamic export)?
-  - callback registration function that explicitly have the type of the
-    callback function (from which we might want to generate a foreign export
-    dynamic). 
-
-* `mapM raise errs' in `lexC' increases the heap usage by a factor of _8_ when 
-  running the lexer alone on `gtkext.h' - probably because the whole analysis
-  has to be completed before we can be sure to have no error (and this kills
-  an interlocked produced/consumer scheme for the lexer and whatever function
-  is consuming the tokens).
-
-* sizeof and type hooks do only allow defined, but not basic types as
-  arguments.  This is not a real problem as C2HS provides all the needed
-  information to circumvent such usage, but it would still be more elegant to
-  support basic types as arguments, too.
-
-Middle term
-~~~~~~~~~~~
-
-* A hook {#const <C expr>#} would be nice (as in hsc2hs).  Unfortunately, it
-  is not that easy to realise.  We need to parse the <C expr> in the binding
-  module.  Moreover, the main value of this would be when the <C expr> is
-  put into the C field together with `enum define' stuff, so that all
-  pre-processor symbols in it are resolved.  However, this can easily give us
-  C compiler errors.  A cheap way out would be {#const "C expr"#} to avoid
-  parsing the C expression, but then we can get even more errors during
-  compiling the C.
-
-* C->HS might get a lot easier to use by providing as optional marshalling
-  libraries modules that handle often occurring standard stuff like converting 
-  `time_t' to `CalendarTime' or handle sockets etc.  We would, then, probably
-  like to have a matching Posix or so library.
-
------------- Pre-1.0 rewrite ---------------
-
-Problems:
-
-* There are some implicit requirements on the position of binding hooks, which
-  the tool doesn't really enforce: context must be first, context and enum may
-  only occur where a toplevel definition is allowed. (This should be checked
-  before `GenBind' is used.)  We can not really check that a hook is in a
-  position where a toplevel definition is allowed (without analysing
-  significant parts of the Haskell code), but we can at least guarantee that
-  these hooks occur in column position 0.
-
-* Sven: #define enums in C: Introduce (#enum define SomeEnum {...}#) hooks
-  that collect `#define' symbols into an enumeration type; see also
-  +haskell/4025.  One probem: If identifiers with the same lexeme as
-  `SomeEnum' or the enum members are already defined in the C header, we might 
-  get conflicts.
-
-  The problem of this approach is that if the macro expands to something that
-  is not a constant expression C, we will get error messages from the
-  preprocessor, which are strange to the user.
-
-  Further idea, Michael's: extensible enums
-
-  There are, however, a number of interesting options supported by gcc -E that
-  might make alternative solutions to the problem feasible.
-
-END of ----- Pre-1.0 rewrite ---------------
-
-* Do we like direct support for mapping complete structs (if they are
-  sufficiently wellbehaved?) into Haskell data structures - both by generating
-  the Haskell data type definitions and by generating a `cFrom<Struct>' and a
-  `cTo<Struct>' routine.  The latter would be generated as a cascade of field
-  hooks.  H/Direct's formal definition of structure marshalling might be
-  helpful here.
-
-* Support for evaluating constants is not complete yet.  In this context, it
-  should probably also be checked, when there are two overlapping tags in an
-  enum (this is allowed in C, but is problematic for marshaling). 
-
-* How about Hugs support?  Is it already possible with current Hugs?
-
-
-Release Checklist
-~~~~~~~~~~~~~~~~~
-
-(1) In root of working directory,
-
-      % make tar-c2hs
-
-(2) Compile the resulting source distribution with latest ghc stable release:
-
-      % tar xzf c2hs-x.y.z.tar.gz
-      % cd c2hs-x.y.z
-      % ./configure
-      % make
-
-(3) Install and regression testing:
-
-    - Installation procedure
-
-        % make install
-
-    - Tests in build/ghc?/c2hs/tests/ directory
-
-(4) Check documentation and add release notes
-
-(5) Extended build test: build with older stable release of ghc and with the
-    cvs version
-
-(6) Register CVS tags for CTK and C->HS (syntax: Release-c2hs_x_y_z)
-
-(7) Make newest `tar' and build rpm
-
-(8) Put tar.gz and rpm sources and binaries up on Web page
-
-(9) Optionally also release the current version of CTK
-
-(10) Update the documentation under the Web page's docu/ directory
-
-(11) Announce: haskell@haskell.org, freshmeat.net
diff --git a/TODO.CTKlight b/TODO.CTKlight
deleted file mode 100644
--- a/TODO.CTKlight
+++ /dev/null
@@ -1,81 +0,0 @@
-								     -*-text-*-
-			  Compiler Base TODO
-			  ==================
-
-Next: 
-
-
-Short Term:
-~~~~~~~~~~~
-* See general/UNames.hs for nhc98 induced ugliness; change when nhc98 is fixed
-
-* Lexers: For unicode `Char', we need to explicit support for positive and
-  negated ranges such as ['\0'..'\255'] and ['\0'..'\255'] \\ ['a'..'c'],
-  where the latter is usually written [^abc] (see the haskell-cafe
-  discussion).
-
-* Roman introduced the class `Printable'.  A general class based pretty-print
-  system would be nice.
-
-* Parsers: Roman had the idea of allowing boolean functions to disambiguate
-  the parse table where two rules cannot be distinguished by the usual LL
-  mechanism alone (see emails).
-
-* Identifiers in any of the intermediate languages that have the same lexeme as
-  a keyword or a predefined identifier should always been pretty-printed in
-  their quoted form.
-
-  Difficult to know for each IL which identifiers have to be treated specially.
-  We need a kind of IL-dependent exception list.
-
-Middle Term:
-~~~~~~~~~~~~
-* Use a different attribute mechanism.  The stuff started for the flatten
-  prototype looks quite promising.  Observations:
-
-  - Current hipar system with a unique in every node => makes it complicated
-    to construct/transform trees, as we always have to clone subtress in a
-    monad.
-  - GHC's system => when attributes of an identifier are updated, the
-    "new" identifiers have to substituted into all expression that contain
-    usage occurences.
-
-* Graph processing support: Does it need to be a new mechanism or can we
-  realise it via Attrs (what kind of generic functions could we provide).  One
-  possibility is the use of an `Bool' attribute used to implement fast sets
-  (eg, marking).  (If there is a lot of marking, we might want to realise
-  indexing with attributes via hashing to be able to work with sparse keys and 
-  to already have O(1) during attribute table construction.)
-
-* `FiniteMap' should be an instance of `Functior' with `fmap = mapFM'
-
-* configuration shouldn't be in
-
-* FNameOps, FileOps: Introduce an autoconf set variable that determines
-  whether "/" or "\" is used as a delimiter in paths
-
-* Lexers: * After a certain number of errors (say 50); abort lexing.
-
-* Parsers (maybe similar problem with Lexers): If the grammar is not LL(1), we 
-  just get an `ambiguous grammar' error message at runtime without any hint,
-  which part of the grammer might be ambiguous.  This is too hard to debug!
-
-* In the language-specific `XXXAttrs.hs' modules, the routines for handling 
-  the different on the attribute tables have always the same structure;  Only
-  the access to the `AttrXXX' datatype is different.  It should be possible to
-  generalize them.
-
-  Moreover, the `referring identifier information' is always needed and might
-  be generalized.
-
-* The handling of state could be improved by revising the state modules and
-  using constructor classes and monad transformers.
-
-  Currently, we only define the state type abstractly when generating a new
-  instance of `CST'.  This is in order to be able to use the generic
-  operations, such as I/O, also in the monad instance.  But this comprises the 
-  security of the monad encapsulation as also the generic functions that allow 
-  to extract and copy the state can be used.  Ideally, we want to lift generic 
-  operations like I/O automagically into the new monad and to protect it from
-  access to its state.  Furthermore, some support for stripping and attaching
-  of the type-tag (intro with `newtype') would be nice.
diff --git a/c2hs.cabal b/c2hs.cabal
--- a/c2hs.cabal
+++ b/c2hs.cabal
@@ -1,5 +1,5 @@
 Name:           c2hs
-Version:        0.28.3
+Version:        0.28.4
 License:        GPL-2
 License-File:   COPYING
 Copyright:      Copyright (c) 1999-2007 Manuel M T Chakravarty
@@ -19,7 +19,7 @@
                 correct Haskell types.
 Category:       Development
 Tested-With:    GHC==6.12.3, GHC==7.0.4, GHC==7.6.1, GHC==7.6.3, GHC==7.8.3, GHC==7.10.1
-Cabal-Version:  >= 1.8
+Cabal-Version:  >= 1.10
 Build-Type:     Simple
 
 --TODO: Cabal should allow 'Data-Files' in the executable stanza
@@ -112,7 +112,7 @@
 Executable c2hs
     Build-Depends:  base >= 2 && < 5,
                     bytestring,
-                    language-c >= 0.7.1 && < 0.8,
+                    language-c >= 0.7.1 && < 0.9,
                     filepath,
                     dlist
 
@@ -150,10 +150,11 @@
       System.CIO
       Text.Lexers
 
-    extensions:     ForeignFunctionInterface
+    default-extensions:     ForeignFunctionInterface
     c-sources:      src/C2HS/config.c
     --TODO: eliminate the need to suppress these warnings:
     ghc-options:    -Wall -fno-warn-incomplete-patterns -fwarn-tabs
+    default-language: Haskell2010
 
 Test-Suite test-bugs
   type:                exitcode-stdio-1.0
@@ -168,6 +169,7 @@
                        shelly >= 1.0,
                        text,
                        transformers
+  default-language: Haskell2010
 
 Test-Suite test-system
   type:                exitcode-stdio-1.0
@@ -181,6 +183,7 @@
                        shelly >= 1.0,
                        text,
                        transformers
+  default-language: Haskell2010
 
 Flag regression
   description: Enable regression suite build.
@@ -197,3 +200,4 @@
                          yaml >= 0.8
   else
     buildable: False
+  default-language: Haskell2010
diff --git a/custom-setup.hs b/custom-setup.hs
deleted file mode 100644
--- a/custom-setup.hs
+++ /dev/null
@@ -1,92 +0,0 @@
---
--- This Cabal setup script should ONLY be used in cases WHERE:
---
---   the bare structure wrapper capability of C2HS is used (i.e. '%'
---   characters on pointer type arguments in "fun" hooks);
---
--- AND
---
---   a version of Cabal is being used that does not allow
---   preprocessors to specify extra C sources (versions of
---   cabal-install <= 1.22.0.0).
---
--- Otherwise Cabal should be able to deal with the extra C sources
--- itself.
---
--- If in doubt, ask...
---
-
-module Main (main) where
-
-import Control.Exception (catch)
-import Control.Monad (forM)
-
-import Distribution.PackageDescription
-    (BuildInfo(..), Executable(..), Library(..), PackageDescription(..))
-import Distribution.Simple (UserHooks(..),
-                            defaultMainWithHooks, simpleUserHooks)
-import Distribution.Simple.LocalBuildInfo (LocalBuildInfo(..))
-import Distribution.Simple.Setup (BuildFlags)
--- Test-suites require Cabal-1.10 or greater
-import Distribution.PackageDescription (TestSuite(..))
--- Benchmarks require Cabal-1.14 or greater
-import Distribution.PackageDescription (Benchmark(..))
-
-import System.Directory (doesDirectoryExist, getDirectoryContents)
-import System.Exit (ExitCode)
-import System.FilePath ((</>), takeExtensions)
-
-main :: IO ()
-main = defaultMainWithHooks simpleUserHooks { buildHook = chsBuildHook }
-
-addCSources :: [FilePath] -> BuildInfo -> BuildInfo
-addCSources newSrcs bi@(BuildInfo { cSources = oldSrcs }) =
-  bi { cSources = newSrcs ++ oldSrcs }
-
-hasChsCExtension :: FilePath -> Bool
-hasChsCExtension file = takeExtensions file == ".chs.c"
-
-getRecursiveContents :: FilePath -> IO [FilePath]
-getRecursiveContents topdir = do
-    topdirExists <- doesDirectoryExist topdir
-    if (not topdirExists)
-       then return []
-       else do
-           names <- getDirectoryContents topdir
-           let properNames = filter (`notElem` [".", ".."]) names
-           paths <- forM properNames $ \name -> do
-               let path = topdir </> name
-               isDirectory <- doesDirectoryExist path
-               if isDirectory
-                  then getRecursiveContents path
-                  else return [path]
-           return (concat paths)
-
-chsBuildHook :: PackageDescription -> LocalBuildInfo -> UserHooks ->
-                BuildFlags -> IO ()
-chsBuildHook pd lbi uh bf = hook `catchExitCode` \_ -> hook
-  where
-    hook :: IO ()
-    hook = chsBuildHook' pd lbi uh bf
-
-    catchExitCode :: IO a -> (ExitCode -> IO a) -> IO a
-    catchExitCode = catch
-
-chsBuildHook' :: PackageDescription -> LocalBuildInfo -> UserHooks ->
-                 BuildFlags -> IO ()
-chsBuildHook' pd@(PackageDescription
-                   { library     = mbLib
-                   , executables = exes
-                   , testSuites  = tss
-                   , benchmarks  = bms
-                   })
-             lbi uh bf = do
-    let distBuildDir = buildDir lbi
-    chsCFiles <- fmap (filter hasChsCExtension) $
-                 getRecursiveContents distBuildDir
-    let pd' = pd { library     = fmap (\lib -> lib { libBuildInfo       = addCSources chsCFiles (libBuildInfo lib)      }) mbLib
-                 , executables = fmap (\exe -> exe { buildInfo          = addCSources chsCFiles (buildInfo exe)         }) exes
-                 , testSuites  = fmap (\ts  -> ts  { testBuildInfo      = addCSources chsCFiles (testBuildInfo ts)      }) tss
-                 , benchmarks  = fmap (\bm  -> bm  { benchmarkBuildInfo = addCSources chsCFiles (benchmarkBuildInfo bm) }) bms
-                 }
-    buildHook simpleUserHooks pd' lbi uh bf
diff --git a/examples/libghttpHS/Ghttp.chs b/examples/libghttpHS/Ghttp.chs
deleted file mode 100644
--- a/examples/libghttpHS/Ghttp.chs
+++ /dev/null
@@ -1,326 +0,0 @@
---  GhttpHS: Haskell binding to the Gnome HTTP library		  -*-haskell-*-
---
---  Author : Manuel M. T. Chakravarty
---  Created: 5 August 99
---
---  Copyright (c) [1999..2000] Manuel M. T. Chakravarty
---
---  This library is free software; you can redistribute it and/or
---  modify it under the terms of the GNU Library General Public
---  License as published by the Free Software Foundation; either
---  version 2 of the License, or (at your option) any later version.
---
---  This library is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY; without even the implied warranty of
---  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
---  Library General Public License for more details.
---
---- DESCRIPTION ---------------------------------------------------------------
---
---  The C library `libghttp' provides a set of common http functions needed at 
---  the client and the server end of an http connection.  The Haskell binding
---  is generated with the help of the C->Haskell tool - always modify the
---  original .chs file, _not_ the generated .hs file.
---
---  This library is fully compliant with HTTP 1.1 as defined in the draft 5
---  update of RFC 2068.  
---
---- DOCU ----------------------------------------------------------------------
---
---  language: Haskell 98 & C->HS binding hooks (v0.7.5)
---
---  ** Stylistic warning: In the definition of `CurrentStatus', the field
---       labels do not contain the name of the data type to which they belong.
---       This is _not_ good practice in larger interfaces, because in Haskell
---       such field labels pollute the global name space.
---
---- TODO ----------------------------------------------------------------------
---
---  * When and by whom is the memory area passed to `ghttp_set_body' be freed; 
---    how about the string returned from `ghttp_get_body'?
---
---  * Conversion of `time_t' misses for `parseDate'.
---
-
-module Ghttp (Request, URI, Type(..), SyncMode(..), Status(..), Proc(..),
-	      CurrentStatus(..),
-	      requestNew, requestDestroy, uriValidate, setURI, setProxy,
-	      setType, setBody, setSync, prepare, setChunksize, setHeader,
-	      process, getStatus, getHeader, close, clean, getSocket, getBody, 
-	      getError, {-parseDate,-} setAuthinfo, setProxyAuthinfo)
-where
-
--- C->HS marshalling library
---
-import C2HS
-
-import Monad  (liftM, when)
-import IOExts (unsafePerformIO)
-
-
-{#context lib="libghttp" prefix="ghttp"#}
-
-
--- data structures
--- ---------------
-
--- abstract handle for a http request object (EXPORTED ABSTRACTLY)
---
-newtype Request = Request Addr
-
--- Uniform Resource Indicators (EXPORTED)
---
-type URI = String
-
--- body type (EXPORTED)
---
-{#enum ghttp_type as Type {underscoreToCase}#}
-
--- synchronous/asynchronous mode (EXPORTED)
---
-{#enum sync_mode as SyncMode {underscoreToCase}#}
-
--- request status (EXPORTED)
---
-{#enum status as Status {underscoreToCase}#}
-
--- describes the activity of a request (EXPORTED)
---
-{#enum proc as Proc {underscoreToCase}#}
-
--- status descriptor (EXPORTED)
---
-data CurrentStatus = CurrentStatus {
-		       proc       :: Proc,    -- What's it doing?
-		       bytesRead  :: Int,     -- How many bytes have been read?
-		       bytesTotal :: Int      -- How many bytes total?
-		     }
-
--- error types
---
-invalidURI, illegalRequest :: String
-invalidURI     = "Ghttp: The Uniform Resource Indicator is invalid."
-illegalRequest = "Ghttp: The request is illegal or unsupported."
-
-
--- functions
--- ---------
-
--- create a new request object (EXPORTED)
---
-requestNew :: IO Request
-requestNew  = liftM Request {#call unsafe request_new#}
-
--- delete a current request object (EXPORTED)
---
-requestDestroy                :: Request -> IO ()
-requestDestroy (Request reqa)  = {#call unsafe request_destroy#} reqa
-
--- validate a uri (EXPORTED)
---
-uriValidate     :: URI -> Bool
-uriValidate uri  = 
-  let res = unsafePerformIO $
-	     {#call unsafe uri_validate#} `marsh1_` (stdAddr uri :> free)
-  in
-  res == -1
-
--- set a uri in a request (EXPORTED)
---
--- * raise an exception if the URI is not valid
---
-setURI                    :: Request -> URI -> IO ()
-setURI (Request reqa) uri  = 
-  {#call unsafe set_uri#} reqa `marsh1_` (stdAddr uri :> free)
-  `ifNegRaise_` invalidURI
-
--- set a proxy for a request (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setProxy                    :: Request -> URI -> IO ()
-setProxy (Request reqa) uri  = 
-  {#call unsafe set_proxy#} reqa `marsh1_` (stdAddr uri :> free)
-  `ifNegRaise_` illegalRequest
-
--- set a request type (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setType                      :: Request -> Type -> IO ()
-setType (Request reqa) rtype  = 
-  {#call unsafe set_type#} reqa (cFromEnum rtype)
-  `ifNegRaise_` illegalRequest
-
--- set the body (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setBody                     :: Request -> String -> IO ()
-setBody (Request reqa) body  =
-  do
-    (box, len) <- listToAddrWithLen body
-    {#call unsafe set_body#} reqa box (cFromInt len)
-      `ifNegRaise_` illegalRequest
-
--- set whether or not you want to use sync or async mode (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setSync                      :: Request -> SyncMode -> IO ()
-setSync (Request reqa) smode  =
-  {#call unsafe set_sync#} reqa (cFromEnum smode)
-  `ifNegRaise_` illegalRequest
-
--- Prepare a request; call this before trying to process a request or if you
--- change the uri (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-prepare                :: Request -> IO ()
-prepare (Request reqa)  =
-  {#call unsafe prepare#} reqa
-  `ifNegRaise_` illegalRequest
-
--- set the chunk size; you might want to do this to optimize for different
--- connection speeds (EXPORTED)
---
-setChunksize			 :: Request -> Int -> IO ()
-setChunksize (Request reqa) size  =
-  {#call unsafe set_chunksize#} reqa (cFromInt size)
-
--- set a random request header (EXPORTED)
---
-setHeader                        :: Request -> String -> String -> IO ()
-setHeader (Request reqa) hdr val  =
-  {#call unsafe set_header#} reqa
-    `marsh2_` (stdAddr hdr :> free)
-    $         (stdAddr val :> free)
-
--- process a request (EXPORTED)
---
-process                :: Request -> IO Status
-process (Request reqa)  = liftM cToEnum $ {#call unsafe process#} reqa
-
--- get the status of a request (EXPORTED)
---
-getStatus                :: Request -> IO CurrentStatus
-getStatus (Request reqa)  =
-  {#call unsafe ghttpHS_get_status #} reqa >>= cFromCurrentStatus
-
--- get the value of a random response header (EXPORTED)
---
-getHeader                    :: Request -> String -> IO String
-getHeader (Request reqa) hdr  =
-  {#call unsafe get_header#} reqa `marsh1_` (stdAddr hdr :> free)
-  >>= addrStd
-
--- abort a currently running request (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-close                :: Request -> IO ()
-close (Request reqa)  = {#call unsafe close#} reqa
-			`ifNegRaise_` illegalRequest
-
--- clean a request (EXPORTED)
---
-clean                :: Request -> IO ()
-clean (Request reqa)  = {#call unsafe clean#} reqa
-
--- get the socket associated with a particular connection (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-getSocket                :: Request -> IO Int
-getSocket (Request reqa)  = {#call unsafe get_socket#} reqa
-			    `ifNegRaise` illegalRequest
-
--- get the return entity body (EXPORTED)
---
--- * this includes getting the length with `ghttp_get_body_len', as the string 
---   is not necessarily \0 terminated
---
-getBody                :: Request -> IO String
-getBody (Request reqa)  = 
-  do
-    bodyAddr <- {#call unsafe get_body#} reqa
-		`ifNullRaise` illegalRequest
-    bodyLen  <- {#call unsafe get_body_len#} reqa
-    addrWithLenToList bodyAddr (cToInt bodyLen)
-
--- get an error message for a request that has failed (EXPORTED)
---
-getError :: Request -> IO String
-getError (Request reqa)  = 
-  {#call unsafe get_error#} reqa >>= addrStd
-
--- parse a date string that is one of the standard date formats (EXPORTED)
---
-{-parseDate     :: String -> CalendarTime
-parseDate str  = 
-  do
-    time_t <- {#call unsafe parse_date#} `fromString` str
-    time <- toCalendarTime
- -}
-
--- return the status code (EXPORTED)
---
-statusCode                :: Request -> IO Int
-statusCode (Request reqa)  = 
-  liftM cToInt $ {#call unsafe status_code#} reqa
-
--- return the reason phrase (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-reasonPhrase                :: Request -> IO String
-reasonPhrase (Request reqa)  = 
-  ({#call unsafe reason_phrase#} reqa
-   `ifNullRaise` illegalRequest
-  ) >>= addrStd
-
--- set your username/password pair (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setAuthinfo                          :: Request -> String -> String -> IO ()
-setAuthinfo (Request reqa) user pass  =
-  ({#call unsafe set_authinfo#} reqa 
-     `marsh2_` (stdAddr user :> free)
-     $         (stdAddr pass :> free)
-  )
-  `ifNegRaise_` illegalRequest
-
--- set your username/password pair for proxy (EXPORTED)
---
--- * raise an exception if the request is not valid
---
-setProxyAuthinfo  :: Request -> String -> String -> IO ()
-setProxyAuthinfo (Request reqa) user pass =
-  ({#call unsafe set_proxy_authinfo#} reqa 
-     `marsh2_` (stdAddr user :> free)
-     $         (stdAddr pass :> free)
-  )
-  `ifNegRaise_` illegalRequest
-
-
--- auxilliary marshalling function
--- -------------------------------
-
--- marshal the elements of a `ghttp_current_status' struct to Haskell land
---
--- * frees the C struct
---
-cFromCurrentStatus       :: Addr -> IO CurrentStatus
-cFromCurrentStatus csPtr  = 
-  do
-    proc <- liftM cToEnum$ {#get current_status.proc#}        csPtr
-    read <- liftM cToInt $ {#get current_status.bytes_read#}  csPtr
-    total<- liftM cToInt $ {#get current_status.bytes_total#} csPtr
-    free csPtr
-    return $ CurrentStatus {
-	       proc       = proc,
-	       bytesRead  = read,
-	       bytesTotal = total
-	     }
diff --git a/examples/libghttpHS/Makefile b/examples/libghttpHS/Makefile
deleted file mode 100644
--- a/examples/libghttpHS/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-#  GnomeHaskell bindings: Gnome HTTP library
-#
-#  Author : Manuel M. T. Chakravarty
-#  Created: 8 October 1999
-#
-#  Copyright (c) 1999 Manuel M. T. Chakravarty
-#
-#  This file is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2 of the License, or
-#  (at your option) any later version.
-#
-#  This file is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  = DOCU =====================================================================
-#
-#  = TODO =====================================================================
-#
-#  * Let configure do the dirty work; how about automake
-
-# the commented out variants are to be used if the directory is moved out of 
-# the C->HS source tree
-#
-GHC=ghc
-#C2HS=c2hs
-C2HS=../../c2hs
-GHTTP_HEADER=ghttpHS.h
-#HCFLAGS=`c2hs-config --cflags`
-HCFLAGS=-i../../lib -fglasgow-exts
-
-OBJS=Ghttp.o ghttpHS.o
-
-Ghttp.hs: Ghttp.chs ghttpHS.h
-	$(C2HS) $(GHTTP_HEADER) Ghttp.chs
-
-Ghttp.o: Ghttp.hs ghttpHS.h
-	$(GHC) '-#include"ghttpHS.h"' $(HCFLAGS) -c $<
-
-ghttpHS.o: ghttpHS.h ghttpHS.c
-
-libghttpHS.a: $(OBJS)
-	-$(RM) $@
-	$(AR) -crs $@ $(OBJS)
diff --git a/examples/libghttpHS/ghttpHS.c b/examples/libghttpHS/ghttpHS.c
deleted file mode 100644
--- a/examples/libghttpHS/ghttpHS.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Auxiliary C code for Ghttp.
- *
- * Copyright (c) 1999 Manuel M. T. Chakravarty
- *
- * This is required due to the inability of GHC's FFI to pass structures from C
- * to Haskell.
- */
-
-#include "ghttpHS.h"
-
-ghttp_current_status *ghttpHS_get_status (ghttp_request *a_request)
-{
-  ghttp_current_status *status;
-
-  status = (ghttp_current_status *) malloc (sizeof (ghttp_current_status));
-  if (!status) {
-    printf ("Ghttp: ghttpHS_get_status: Out of memory!");
-    exit (1);
-  }
-  *status = ghttp_get_status (a_request);
-  return status;
-}
diff --git a/examples/libghttpHS/ghttpHS.h b/examples/libghttpHS/ghttpHS.h
deleted file mode 100644
--- a/examples/libghttpHS/ghttpHS.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Auxiliary C code for Ghttp.
- *
- * Copyright (c) 1999 Manuel M. T. Chakravarty
- *
- * This is required due to the inability of GHC's FFI to pass structures from C
- * to Haskell.
- */
-
-#ifndef __GHTTPHS_H__
-#define __GHTTPHS_H__
-
-
-#include <ghttp.h>
-
-/* returns a reference to a newly allocated memory area holding the result of 
- * the corresponding vanilla `libghttp' function
- */
-ghttp_current_status *ghttpHS_get_status (ghttp_request *a_request);
-
-
-#endif /* __GHTTPHS_H__ */
diff --git a/import-handling.md b/import-handling.md
deleted file mode 100644
--- a/import-handling.md
+++ /dev/null
@@ -1,104 +0,0 @@
-## Potentially breaking changes: import handling
-
-#### The problem
-
-Previous releases of C2HS had an annoying misfeature -- you had to
-manage the imports of Haskell library functions in C2HS-generated code
-yourself.  Suppose you had the following code in a `.chs` file:
-
-``` haskell
-#include "issue44.h"
-
-{#pointer *foo as ^ foreign newtype#}
-```
-
-where the contents of the `issue44.h` header are:
-
-``` c
-typedef struct { int a; } foo;
-```
-
-Running C2HS would then generate the following Haskell code:
-
-``` haskell
-newtype Foo = Foo (ForeignPtr (Foo))
-withFoo :: Foo -> (Ptr Foo -> IO b) -> IO b
-withFoo (Foo fptr) = withForeignPtr fptr
-```
-
-Note the use of the names `ForeignPtr`, `Ptr` and `withForeignPtr`.
-These come from the Haskell library modules `Foreign.Ptr` and
-`Foreign.ForeignPtr`, but C2HS didn't generate any `import`
-declarations to make these modules accessible.  This meant that there
-would normally be a bit of back and forth when writing C2HS code:
-write your bindings, run C2HS, try compiling with GHC, have the
-compile fail because of missing imports, add the imports to your
-`.chs` file and repeat.  Kind of annoying.
-
-As well as being annoying, the lack of import declaration generation
-meant that it was sometimes impossible to make internal changes to the
-way that C2HS binds to C functions without breaking existing user
-code.  The example that finally drove me to try to fix this was issue
-130 (https://github.com/haskell/c2hs/issues/130) that required a
-change that would lead to most C2HS code now needing to import
-`unsafePerformIO`.  It didn't seem like a good idea to push a change
-like that (that would break more or less all C2HS code out there!)
-without fixing the import problem (so that the change for issue #130
-could happen transparently to all existing working C2HS code).
-
-
-#### The solution
-
-The solution I ended up with is pretty simple, but I think it's
-robust.  For the example above, C2HS now generates the following
-Haskell code:
-
-``` haskell
-import qualified Foreign.ForeignPtr as C2HSImp
-import qualified Foreign.Ptr as C2HSImp
-
-newtype Foo = Foo (C2HSImp.ForeignPtr (Foo))
-withFoo :: Foo -> (C2HSImp.Ptr Foo -> IO b) -> IO b
-withFoo (Foo fptr) = C2HSImp.withForeignPtr fptr
-```
-
-All library symbols needed to generate Haskell binding code are now
-qualified under the name `C2HSImp` and the relevant library modules
-are imported qualified as `C2HSImp`.
-
-The end result of this is that you still need to import modules only
-for names that you explicitly use (so if you use `alloca` in an input
-marshaller, you need to import `Foreign.Marshal.Alloc`).  All external
-names that C2HS uses in code that it generates should be imported
-automatically.
-
-
-#### Potential complaints
-
-1. Modules compiled with `-Werror` may now fail because of unused
-   import warnings.  This was something I had to deal with for most of
-   the C2HS test cases (since they all imported the required library
-   modules and they're mostly compiled with `-Werror`), but since the
-   community consensus seems to be that `-Werror` shouldn't be used in
-   released code, I think it's reasonable to allow the possibility of
-   this kind of breakage.
-
-2. It's possible that the code I wrote for deciding where to put the
-   extra import declarations isn't quite perfect.  I tried a couple of
-   different solutions, but ended up with a hand-made "find the first
-   safe place to add imports" function that relies quite heavily on
-   the details of C2HS's CHS file parser.  I did try a solution based
-   on `haskell-src-exts`, but this didn't work very well, because
-   `haskell-src-exts` doesn't support all available GHC extensions and
-   I would have needed some mechanism to propagate extension
-   information from Cabal files to C2HS to make the parsing work.
-
-These changes have been tested reasonably extensively -- all of the
-core C2HS tests pass, and the following packages are known to work
-(they're all in the regression suite): abcBridge, alsa-mixer, cuda,
-cufft, gnome-keyring, gnuidn, haskell-mpi, hnetcdf, hpuz, hsndfile,
-hsshellscript, igraph, libssh2.
-
-I'll be adding more packages to the regression suite, but if there's a
-package you're particularly concerned about that's not on this list,
-let me know.
diff --git a/regression-suite-vm/Vagrantfile b/regression-suite-vm/Vagrantfile
deleted file mode 100644
--- a/regression-suite-vm/Vagrantfile
+++ /dev/null
@@ -1,9 +0,0 @@
-Vagrant.configure("2") do |config|
-  config.vm.box = "c2hs-regression-suite.box"
-
-  config.vm.provider :virtualbox do |vb|
-    vb.gui = false
-    vb.customize ["modifyvm", :id, "--memory", "2048"]
-    vb.customize ["modifyvm", :id, "--cpus", "2"]
-  end
-end
diff --git a/regression-suite-vm/Vagrantfile-full b/regression-suite-vm/Vagrantfile-full
deleted file mode 100644
--- a/regression-suite-vm/Vagrantfile-full
+++ /dev/null
@@ -1,84 +0,0 @@
-$script = <<SCRIPT
-
-set -e
-
-# Initial APT package installation
-
-sed -i -e 's/us.archive.ubuntu.com/gb.archive.ubuntu.com/g' /etc/apt/sources.list
-sed -i -e '/trusty multiverse/s/^# //' -e '/trusty-updates multiverse/s/^# //' /etc/apt/sources.list
-
-apt-get update
-apt-get install -y python-pip
-pip install awscli
-
-mkdir cuda-packages
-aws s3 sync s3://cuda-packages ./cuda-packages
-dpkg -i ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
-/bin/rm ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
-mv ./cuda-packages/*.deb /var/cache/apt/archives
-/bin/rm -fr ./cuda-packages
-
-apt-add-repository -y ppa:igraph/ppa
-apt-get update
-
-PACKAGES="alex build-essential git happy libatlas-base-dev libgmp-dev
-          liblapack-dev libnetcdf-dev unzip zlib1g-dev libopencv-dev
-          libcv-dev libhighgui-dev libgnome-keyring-dev libgsl0-dev
-          libsndfile1-dev libqtscript4-core libqt4-declarative
-          libigraph0-dev acpid consolekit dkms lib32gcc1 libc-bin
-          libc-dev-bin libc6 libc6-dev libc6-i386 libck-connector0
-          libpam-ck-connector libpolkit-agent-1-0
-          libpolkit-backend-1-0 libpolkit-gobject-1-0 libvdpau1
-          libxmu-dev libxmu-headers policykit-1 policykit-1-gnome
-          python-xkit screen-resolution-extra cuda libasound2-dev
-          libidn11-dev libopenmpi-dev libssh2-1-dev"
-
-apt-get install -y $PACKAGES
-
-cd /usr/lib/x86_64-linux-gnu
-ln -s libgmp.so.10 libgmp.so.3
-cd /root
-
-
-# GHC and Cabal installation
-wget https://www.haskell.org/ghc/dist/7.8.3/ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz
-tar xJf ghc-7.8.3-x86_64-unknown-linux-deb7.tar.xz
-cd ghc-7.8.3
-./configure
-make install
-cd ..
-/bin/rm -fr ghc-7.8.3*
-
-wget https://www.haskell.org/cabal/release/cabal-install-1.20.0.3/cabal-install-1.20.0.3.tar.gz
-tar xzf cabal-install-1.20.0.3.tar.gz
-cd cabal-install-1.20.0.3
-./bootstrap.sh
-cd ..
-/bin/rm -fr cabal-install-1.20.0.3*
-
-if [ ! -f /usr/bin/cabal-1.20 ]; then
-   cp /root/.cabal/bin/cabal /usr/bin/cabal-1.20
-   (cd /usr/bin/ && rm -rf cabal && ln -s cabal-1.20 cabal)
-fi
-
-echo "export PATH=\$HOME/.cabal/bin:\$PATH" >> /etc/bash.bashrc
-echo "export PATH=/usr/local/cuda-6.5/bin:\$PATH" >> /etc/bash.bashrc
-
-su vagrant -c 'cabal update'
-
-SCRIPT
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "trusty-server-cloudimg-amd64-vagrant-disk1.box"
-  config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
-
-  config.vm.synced_folder "..", "/home/vagrant/c2hs"
-
-  config.vm.provider :virtualbox do |vb|
-    vb.gui = false
-    vb.customize ["modifyvm", :id, "--memory", "2048"]
-    vb.customize ["modifyvm", :id, "--cpus", "2"]
-  end
-
-  config.vm.provision "shell", inline: $script
-end
diff --git a/regression-suite-vm/run-regression b/regression-suite-vm/run-regression
deleted file mode 100644
--- a/regression-suite-vm/run-regression
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-branch=${1:-master}
-
-vagrant up
-vagrant ssh <<EOF
-/bin/rm -fr c2hs
-export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
-git clone https://github.com/haskell/c2hs.git
-cd c2hs
-git checkout $branch
-cabal update
-cabal install --only-dep --enable-tests -fregression
-cabal install
-cabal configure --enable-tests -fregression
-cabal build && cabal test
-export C2HS_REGRESSION_SUITE=1
-./dist/build/regression-suite/regression-suite
-EOF
-vagrant destroy -f
diff --git a/src/C2HS/Gen/Bind.hs b/src/C2HS/Gen/Bind.hs
--- a/src/C2HS/Gen/Bind.hs
+++ b/src/C2HS/Gen/Bind.hs
@@ -112,13 +112,15 @@
 
 -- standard libraries
 import Data.Char     (toLower, isSpace)
+import Data.List     (stripPrefix)
 import Data.Function (on)
 import Data.IORef    (IORef, newIORef, readIORef, writeIORef)
 import System.IO.Unsafe (unsafePerformIO)
 import System.IO     (withFile, hPutStrLn, IOMode(..))
 import System.Exit   (ExitCode(..))
 import System.Directory (removeFile)
-import System.Process (readProcessWithExitCode, system)
+import System.FilePath (isPathSeparator)
+import System.Process (readProcessWithExitCode, rawSystem)
 import Data.List     (deleteBy, groupBy, sortBy, intersperse, find, nubBy,
                       intercalate, isPrefixOf, isInfixOf, foldl')
 import Data.Map      (lookup)
@@ -3049,7 +3051,8 @@
     hPutStrLn h "#include <stdio.h>"
     hPutStrLn h $ "int main(int argc, char *argv[]) " ++
       "{ printf(\"%u\\n\", sizeof(_Bool)); return 0; }"
-  gcccode <- system $ cCompiler ++ " -o c2hs__bool_size c2hs__bool_size.c"
+
+  gcccode <- rawSystem cCompiler ["-o", "c2hs__bool_size", "c2hs__bool_size.c"]
   when (gcccode /= ExitSuccess) $
     error "Failed to compile 'bool' size test program!"
   (code, stdout, _) <- readProcessWithExitCode "./c2hs__bool_size" [] ""
@@ -3057,7 +3060,11 @@
     error "Failed to run 'bool' size test program!"
   let sz = read stdout :: Int
   removeFile "c2hs__bool_size.c"
+#if defined(mingw32_HOST_OS)
+  removeFile "c2hs__bool_size.exe"
+#else
   removeFile "c2hs__bool_size"
+#endif
   return sz
 
 cBoolSize :: Int
@@ -3084,8 +3091,21 @@
       when (code /= ExitSuccess) $
         error "Failed to determine C compiler from 'ghc --info'!"
       let vals = read stdout :: [(String, String)]
-      case Prelude.lookup "C compiler command" vals of
-        Nothing -> error "Failed to determine C compiler from 'ghc --info'!"
-        Just cc -> do
-          writeIORef cCompilerRef $ Just cc
-          return cc
+      case (Prelude.lookup "C compiler command" vals, Prelude.lookup "LibDir" vals) of
+        (Just cc, Just topDir) -> do
+          -- ensure that $topdir is expanded
+          let mungedCc = mungePath topDir cc
+          writeIORef cCompilerRef $ Just mungedCc
+          return mungedCc
+        _ -> error "Failed to determine C compiler from 'ghc --info'!" 
+
+  where
+    -- adapted from ghc/compiler/main/Packages.hs
+    mungePath topDir p
+      | Just p' <- stripVarPrefix "$topdir" p = topDir ++ p'
+      | otherwise                             = p
+
+    stripVarPrefix var path = case stripPrefix var path of
+      Just [] -> Just []
+      Just cs@(c : _) | isPathSeparator c -> Just cs
+      _ -> Nothing
diff --git a/tests/bugs/issue-192/Issue192.chs b/tests/bugs/issue-192/Issue192.chs
deleted file mode 100644
--- a/tests/bugs/issue-192/Issue192.chs
+++ /dev/null
@@ -1,3 +0,0 @@
-module Issue192 where
-
-#include "issue-192.h"
diff --git a/tests/bugs/issue-192/issue-192.h b/tests/bugs/issue-192/issue-192.h
deleted file mode 100644
--- a/tests/bugs/issue-192/issue-192.h
+++ /dev/null
@@ -1,2 +0,0 @@
-extern int __fpclassifyf128 (_Float128 __value) __attribute__ ((__nothrow__ , __leaf__))
-  __attribute__ ((__const__));
diff --git a/tests/bugs/issue-37/Issue37.chs b/tests/bugs/issue-37/Issue37.chs
deleted file mode 100644
--- a/tests/bugs/issue-37/Issue37.chs
+++ /dev/null
@@ -1,17 +0,0 @@
-module Main where
-
-import Foreign
-import Foreign.C
-
-#include "issue37.h"
-
-{#fun f1 {`Int'} -> `Int'#}
-
-{#fun f2 {`Float'} -> `Float'#}
-
-main :: IO ()
-main = do
-  tst1 <- f1 7
-  tst2 <- f2 23
-  putStrLn $ if tst1 == 14 then "SAME" else "DIFF"
-  putStrLn $ if tst2 == 69 then "SAME" else "DIFF"
diff --git a/tests/bugs/issue-37/issue37.c b/tests/bugs/issue-37/issue37.c
deleted file mode 100644
--- a/tests/bugs/issue-37/issue37.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "issue37.h"
-
-int f1(int *np)
-{
-  return *np * 2;
-}
-
-
-float f2(float *np)
-{
-  return *np * 3;
-}
diff --git a/tests/bugs/issue-37/issue37.h b/tests/bugs/issue-37/issue37.h
deleted file mode 100644
--- a/tests/bugs/issue-37/issue37.h
+++ /dev/null
@@ -1,2 +0,0 @@
-int f1(int *np);
-float f2(float *np);
diff --git a/tests/bugs/issue-82/include/Availability.h b/tests/bugs/issue-82/include/Availability.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/Availability.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2007-2009 by Apple Inc.. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
- 
-#ifndef __AVAILABILITY__
-#define __AVAILABILITY__
- /*     
-    These macros are for use in OS header files. They enable function prototypes
-    and Objective-C methods to be tagged with the OS version in which they
-    were first available; and, if applicable, the OS version in which they 
-    became deprecated.  
-     
-    The desktop Mac OS X and the iPhone OS X each have different version numbers.
-    The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
-    and phone OS version numbers.  For instance:
-        __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
-    means the function/method was first available on Mac OS X 10.2 on the desktop
-    and first available in OS X 2.0 on the iPhone.
-    
-    If a function is available on one platform, but not the other a _NA (not
-    applicable) parameter is used.  For instance:
-            __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
-    means that the function/method was first available on Mac OS X 10.3, and it
-    currently not implemented on the iPhone.
-
-    At some point, a function/method may be deprecated.  That means Apple
-    recommends applications stop using the function, either because there is a 
-    better replacement or the functionality is being phased out.  Deprecated
-    functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
-    macro which specifies the OS version where the function became available
-    as well as the OS version in which it became deprecated.  For instance:
-        __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
-    means that the function/method was introduced in Mac OS X 10.0, then
-    became deprecated beginning in Mac OS X 10.5.  On the iPhone the function 
-    has never been availlable.  
-    
-    For these macros to function properly, a program must specify the OS version range 
-    it is targeting.  The min OS version is specified as an option to the compiler:
-    -mmacosx-version-min=10.x when building for Mac OS X, and -miphone-version-min=1.x.x
-    when building for the iPhone.  The upper bound for the OS version is rarely needed,
-    but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10xx for
-    Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = 1xxx for iPhone.  
-    
-    Examples:
-
-        A function available in Mac OS X 10.5 and later, but not on the phone:
-        
-            extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
-
-
-        An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
-        
-            @interface MyClass : NSObject
-            -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
-            @end
-
-        
-        An enum available on the phone in 2.1 and later, but not available on Mac OS X:
-        
-            #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 20100
-                enum { myEnum = 1 };
-            #endif
-        Note: this works when targeting the Mac OS X platform because 
-        __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero, 
-        so test becomes #if 0 >= 20100 which is false.  Also, we use
-        20100 instead of __IPHONE_2_1 to be safe.  The __IPHONE_2_1 macro did not
-        exist in <Availability.h> prior to the 2.1 SDK.  So, if somehow this 
-        conditional was used with an earilier SDK, it would evaluate incorrectly.
-
-
-    It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
-    source base that can be compiled to target a range of OS versions.  It is best
-    to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
-    That is because you might get compiled on an old OS that does not define a later
-    OS version macro, and in the C preprocessor undefined values evaluate to zero
-    in expresssions, which could cause the #if expression to evaluate in an unexpected
-    way.
-    
-        #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
-            // code only compiled when targeting Mac OS X and not iPhone
-            // note use of 1050 instead of __MAC_10_5
-            #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
-                // code in here might run on pre-Leopard OS
-            #else
-                // code here can assume Leopard or later
-            #endif
-        #endif
-
-
-*/
-
-#define __MAC_10_0      1000
-#define __MAC_10_1      1010
-#define __MAC_10_2      1020
-#define __MAC_10_3      1030
-#define __MAC_10_4      1040
-#define __MAC_10_5      1050
-#define __MAC_10_6      1060
-#define __MAC_NA        9999   /* not available */
-
-#define __IPHONE_2_0     20000  
-#define __IPHONE_2_1     20100  
-#define __IPHONE_2_2     20200  
-#define __IPHONE_3_0     30000  
-#define __IPHONE_NA      99999  /* not available */
-
-#include <AvailabilityInternal.h>
-
-
-#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone) __AVAILABILITY_INTERNAL##_iphone
-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) \
-                                                    __AVAILABILITY_INTERNAL##_iphoneIntro##_DEP##_iphoneDep
-
-#elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED)
-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone) __AVAILABILITY_INTERNAL##_mac
-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) \
-                                                    __AVAILABILITY_INTERNAL##_macIntro##_DEP##_macDep
-
-#else
-    #define __OSX_AVAILABLE_STARTING(_mac, _iphone)
-    #define __OSX_AVAILABLE_BUT_DEPRECATED(_macIntro, _macDep, _iphoneIntro, _iphoneDep) 
-#endif
-
-
-#endif /* __AVAILABILITY__ */
diff --git a/tests/bugs/issue-82/include/AvailabilityInternal.h b/tests/bugs/issue-82/include/AvailabilityInternal.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/AvailabilityInternal.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 2007-2009 by Apple Inc.. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-
-/*
-    File:       AvailabilityInternal.h
- 
-    Contains:   implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
-
-*/
-#ifndef __AVAILABILITY_INTERNAL__
-#define __AVAILABILITY_INTERNAL__
-
-
-/* if we want to support some compiler that does not support these
-   attributes, we can test for the compiler version before defining these */
-#define __AVAILABILITY_INTERNAL_DEPRECATED         __attribute__((deprecated,visibility("default")))
-#define __AVAILABILITY_INTERNAL_UNAVAILABLE        __attribute__((unavailable,visibility("default")))
-#define __AVAILABILITY_INTERNAL_WEAK_IMPORT        __attribute__((weak_import,visibility("default")))
-#define __AVAILABILITY_INTERNAL_REGULAR            __attribute__((visibility("default")))
-
-
-#ifndef __IPHONE_OS_VERSION_MIN_REQUIRED
-    #ifdef __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
-        /* compiler sets __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ when -miphoneos-version-min is used */
-        #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__
-    #endif
-#endif
-
-
-#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED
-    /* make sure a default max version is set */
-    #ifndef __IPHONE_OS_VERSION_MAX_ALLOWED
-        #define __IPHONE_OS_VERSION_MAX_ALLOWED     __IPHONE_3_0
-    #endif
-    /* make sure a valid min is set */
-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0
-        #undef __IPHONE_OS_VERSION_MIN_REQUIRED
-        #define __IPHONE_OS_VERSION_MIN_REQUIRED    __IPHONE_2_0 
-    #endif
-    
-    /* set up internal macros (up to 2.0) */
-     #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_0
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_0
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0          __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_0
-    #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_0    __AVAILABILITY_INTERNAL_DEPRECATED
-    /* set up internal macros (up to 2.1) */
-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_1
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1                __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_1
-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_REGULAR  
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_1    __AVAILABILITY_INTERNAL_DEPRECATED
-    #endif
-    /* set up internal macros (up to 2.2) */
-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_2_2
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2                __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_2_2
-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR  
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR    
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_2_2    __AVAILABILITY_INTERNAL_DEPRECATED
-    #endif
-    /* set up internal macros (up to 3.0) */
-    #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_3_0
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0                __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_NA     __AVAILABILITY_INTERNAL__IPHONE_3_0
-    #if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_1
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR    
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_2_2
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #elif __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_3_0
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_REGULAR   
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_1_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_2_2_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__IPHONE_3_0_DEP__IPHONE_3_0    __AVAILABILITY_INTERNAL_DEPRECATED
-    #endif
-    /* set up internal macros (n/a) */
-    #define __AVAILABILITY_INTERNAL__IPHONE_NA                     __AVAILABILITY_INTERNAL_UNAVAILABLE 
-    #define __AVAILABILITY_INTERNAL__IPHONE_NA_DEP__IPHONE_NA      __AVAILABILITY_INTERNAL_UNAVAILABLE
-    
-#elif defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
-    /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */
-    #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
-    /* make sure a default max version is set */
-    #ifndef __MAC_OS_X_VERSION_MAX_ALLOWED
-        #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_10_6
-    #endif
-
-    /* set up internal macros */
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_6
-        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_6
-        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else    
-        #define __AVAILABILITY_INTERNAL__MAC_10_6        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_5
-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_5
-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_5        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_4
-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_4
-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_4        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_3
-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_3
-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_3        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else   
-        #define __AVAILABILITY_INTERNAL__MAC_10_2        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_1        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #if __MAC_OS_X_VERSION_MAX_ALLOWED < __MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #elif __MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_WEAK_IMPORT
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0        __AVAILABILITY_INTERNAL_REGULAR
-    #endif
-    #define __AVAILABILITY_INTERNAL__MAC_NA             __AVAILABILITY_INTERNAL_UNAVAILABLE
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_1        __AVAILABILITY_INTERNAL__MAC_10_0
-    #endif
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_2        __AVAILABILITY_INTERNAL__MAC_10_1
-    #endif
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_3
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_3        __AVAILABILITY_INTERNAL__MAC_10_2
-    #endif
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_4
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_4        __AVAILABILITY_INTERNAL__MAC_10_3
-    #endif
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_5
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_3
-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_5        __AVAILABILITY_INTERNAL__MAC_10_4
-    #endif
-    #if __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_6
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-        #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL_DEPRECATED
-    #else
-        #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_0
-        #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_1
-        #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_2
-        #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_3
-        #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_4
-        #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_10_6        __AVAILABILITY_INTERNAL__MAC_10_5
-    #endif
-    #define __AVAILABILITY_INTERNAL__MAC_10_0_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_0
-    #define __AVAILABILITY_INTERNAL__MAC_10_1_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_1
-    #define __AVAILABILITY_INTERNAL__MAC_10_2_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_2
-    #define __AVAILABILITY_INTERNAL__MAC_10_3_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_3
-    #define __AVAILABILITY_INTERNAL__MAC_10_4_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_4
-    #define __AVAILABILITY_INTERNAL__MAC_10_5_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_5
-    #define __AVAILABILITY_INTERNAL__MAC_10_6_DEP__MAC_NA             __AVAILABILITY_INTERNAL__MAC_10_6
-    #define __AVAILABILITY_INTERNAL__MAC_NA_DEP__MAC_NA               __AVAILABILITY_INTERNAL_UNAVAILABLE
-
-#endif
-
-#endif /* __AVAILABILITY_INTERNAL__ */
diff --git a/tests/bugs/issue-82/include/TargetConditionals.h b/tests/bugs/issue-82/include/TargetConditionals.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/TargetConditionals.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2000-2008 by Apple Inc.. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
- 
-/*
-     File:       TargetConditionals.h
- 
-     Contains:   Autoconfiguration of TARGET_ conditionals for Mac OS X and iPhone
-     
-                 Note:  TargetConditionals.h in 3.4 Universal Interfaces works
-                        with all compilers.  This header only recognizes compilers
-                        known to run on Mac OS X.
-  
-*/
-
-#ifndef __TARGETCONDITIONALS__
-#define __TARGETCONDITIONALS__
-/****************************************************************************************************
-
-    TARGET_CPU_*    
-    These conditionals specify which microprocessor instruction set is being
-    generated.  At most one of these is true, the rest are false.
-
-        TARGET_CPU_PPC          - Compiler is generating PowerPC instructions for 32-bit mode
-        TARGET_CPU_PPC64        - Compiler is generating PowerPC instructions for 64-bit mode
-        TARGET_CPU_68K          - Compiler is generating 680x0 instructions
-        TARGET_CPU_X86          - Compiler is generating x86 instructions
-        TARGET_CPU_ARM          - Compiler is generating ARM instructions
-        TARGET_CPU_MIPS         - Compiler is generating MIPS instructions
-        TARGET_CPU_SPARC        - Compiler is generating Sparc instructions
-        TARGET_CPU_ALPHA        - Compiler is generating Dec Alpha instructions
-
-
-    TARGET_OS_* 
-    These conditionals specify in which Operating System the generated code will
-    run. The MAC/WIN32/UNIX conditionals are mutually exclusive.  The EMBEDDED/IPHONE 
-	conditionals are variants of TARGET_OS_MAC. 
-
-        TARGET_OS_MAC           - Generate code will run under Mac OS
-        TARGET_OS_WIN32         - Generate code will run under 32-bit Windows
-        TARGET_OS_UNIX          - Generate code will run under some non Mac OS X unix 
-        TARGET_OS_EMBEDDED      - Generate code will run under an embedded OS variant
-                                  of TARGET_OS_MAC
-        TARGET_OS_IPHONE        - Generate code will run under iPhone OS which 
-                                  is a variant of TARGET_OS_MAC.
-
-    TARGET_RT_* 
-    These conditionals specify in which runtime the generated code will
-    run. This is needed when the OS and CPU support more than one runtime
-    (e.g. Mac OS X supports CFM and mach-o).
-
-        TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers
-        TARGET_RT_BIG_ENDIAN    - Generated code uses big endian format for integers    
-        TARGET_RT_64_BIT        - Generated code uses 64-bit pointers    
-        TARGET_RT_MAC_CFM       - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used
-        TARGET_RT_MAC_MACHO     - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used
-
-
-    TARGET_IPHONE_SIMULATOR     - Generate code for running under iPhone Simulator
-        
-
-****************************************************************************************************/
-
-
-/*
- *    gcc based compiler used on Mac OS X
- */
-#define TARGET_OS_MAC               1
-#define TARGET_OS_WIN32             0
-#define TARGET_OS_UNIX              0
-#define TARGET_OS_EMBEDDED          0
-#define TARGET_OS_IPHONE            0
-#define TARGET_IPHONE_SIMULATOR     0
-#define TARGET_CPU_PPC          0
-#define TARGET_CPU_PPC64        0
-#define TARGET_CPU_68K          0
-#define TARGET_CPU_X86          0
-#define TARGET_CPU_X86_64       1
-#define TARGET_CPU_ARM          0
-#define TARGET_CPU_MIPS         0
-#define TARGET_CPU_SPARC        0
-#define TARGET_CPU_ALPHA        0
-#define TARGET_RT_MAC_CFM       0
-#define TARGET_RT_MAC_MACHO     1
-#define TARGET_RT_LITTLE_ENDIAN 1
-#define TARGET_RT_BIG_ENDIAN    0
-#define TARGET_RT_64_BIT        1
-
-#endif  /* __TARGETCONDITIONALS__ */
diff --git a/tests/bugs/issue-82/include/_types.h b/tests/bugs/issue-82/include/_types.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/_types.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#ifndef __TYPES_H_
-#define __TYPES_H_
-
-/*#include <sys/_types.h>*/
-
-#if __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7
-#define __strfmonlike(fmtarg, firstvararg) \
-		__attribute__((__format__ (__strfmon__, fmtarg, firstvararg)))
-#define __strftimelike(fmtarg) \
-		__attribute__((__format__ (__strftime__, fmtarg, 0)))
-#else
-#define __strfmonlike(fmtarg, firstvararg)
-#define __strftimelike(fmtarg)
-#endif
-
-/*typedef	int		__darwin_nl_item;*/
-/*typedef	int		__darwin_wctrans_t;*/
-#ifdef __LP64__
-/*typedef	__uint32_t	__darwin_wctype_t;*/
-#else /* !__LP64__ */
-/*typedef	unsigned long	__darwin_wctype_t;*/
-#endif /* __LP64__ */
-
-#ifdef __WCHAR_MAX__
-#define __DARWIN_WCHAR_MAX	__WCHAR_MAX__
-#else /* ! __WCHAR_MAX__ */
-#define __DARWIN_WCHAR_MAX	0x7fffffff
-#endif /* __WCHAR_MAX__ */
-
-#if __DARWIN_WCHAR_MAX > 0xffffU
-#define __DARWIN_WCHAR_MIN	(-0x7fffffff - 1)
-#else
-#define __DARWIN_WCHAR_MIN	0
-#endif
-#define	__DARWIN_WEOF 	((__darwin_wint_t)-1)
-
-#ifndef _FORTIFY_SOURCE
-#  if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) < 1050)
-#    define _FORTIFY_SOURCE 0
-#  else
-#    define _FORTIFY_SOURCE 2	/* on by default */
-#  endif
-#endif
-
-#endif /* __TYPES_H_ */
diff --git a/tests/bugs/issue-82/include/secure/_common.h b/tests/bugs/issue-82/include/secure/_common.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/secure/_common.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2007, 2008 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#ifndef _SECURE__COMMON_H_
-#define _SECURE__COMMON_H_
-
-#undef _USE_FORTIFY_LEVEL
-#if defined(_FORTIFY_SOURCE) && _FORTIFY_SOURCE > 0
-#  if _FORTIFY_SOURCE > 1
-#    define _USE_FORTIFY_LEVEL 2
-#  else
-#    define _USE_FORTIFY_LEVEL 1
-#  endif
-#else
-#  define _USE_FORTIFY_LEVEL 0
-#endif
-
-#define __darwin_obsz0(object) __builtin_object_size (object, 0)
-#define __darwin_obsz(object) __builtin_object_size (object, _USE_FORTIFY_LEVEL > 1 ? 1 : 0)
-
-#endif
diff --git a/tests/bugs/issue-82/include/secure/_string.h b/tests/bugs/issue-82/include/secure/_string.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/secure/_string.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2007 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#ifndef _STRING_H_
-# error "Never use <secure/_string.h> directly; include <string.h> instead."
-#endif
-
-#ifndef _SECURE__STRING_H_
-#define _SECURE__STRING_H_
-
-#include <Availability.h>
-#include <sys/cdefs.h>
-#include <secure/_common.h>
-
-#if _USE_FORTIFY_LEVEL > 0
-
-#ifndef __has_builtin
-#define _undef__has_builtin
-#define __has_builtin(x) 0
-#endif
-
-/* <rdar://problem/12622659> */
-#if defined(__clang__) && \
-    ((defined(__apple_build_version__) && __apple_build_version__ >= 4260006) || \
-     (!defined(__apple_build_version__) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 3))))
-#define __HAS_FIXED_CHK_PROTOTYPES 1
-#else
-#define __HAS_FIXED_CHK_PROTOTYPES 0
-#endif
-
-/* memccpy, memcpy, mempcpy, memmove, memset, strcpy, strlcpy, stpcpy,
-   strncpy, stpncpy, strcat, strlcat, and strncat */
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-#if __has_builtin(__builtin___memccpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
-#undef memccpy
-#define memccpy(dest, src, c, len)                                  \
-  __builtin___memccpy_chk (dest, src, c, len, __darwin_obsz0 (dest))
-#endif
-#endif
-
-#if __has_builtin(__builtin___memcpy_chk) || defined(__GNUC__)
-#undef memcpy
-#define memcpy(dest, src, len)					\
-  __builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
-#endif
-
-#if __has_builtin(__builtin___memmove_chk) || defined(__GNUC__)
-#undef memmove
-#define memmove(dest, src, len)					\
-  __builtin___memmove_chk (dest, src, len, __darwin_obsz0 (dest))
-#endif
-
-#if __has_builtin(__builtin___memset_chk) || defined(__GNUC__)
-#undef memset
-#define memset(dest, val, len)					\
-  __builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))
-#endif
-
-#if __has_builtin(__builtin___strcpy_chk) || defined(__GNUC__)
-#undef strcpy
-#define strcpy(dest, src)					\
-  __builtin___strcpy_chk (dest, src, __darwin_obsz (dest))
-#endif
-
-#if __DARWIN_C_LEVEL >= 200809L
-#if __has_builtin(__builtin___stpcpy_chk) || defined(__GNUC__)
-#undef stpcpy
-#define stpcpy(dest, src)					\
-  __builtin___stpcpy_chk (dest, src, __darwin_obsz (dest))
-#endif
-
-#if __has_builtin(__builtin___stpncpy_chk) || __APPLE_CC__ >= 5666 || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)
-#undef stpncpy
-#define stpncpy(dest, src, len)					\
-  __builtin___stpncpy_chk (dest, src, len, __darwin_obsz (dest))
-#endif
-#endif /* _DARWIN_C_LEVEL >= 200809L */
-
-#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-#if __has_builtin(__builtin___strlcpy_chk) && __HAS_FIXED_CHK_PROTOTYPES
-#undef strlcpy
-#define strlcpy(dest, src, len)                                 \
-  __builtin___strlcpy_chk (dest, src, len, __darwin_obsz (dest))
-#endif
-
-#if __has_builtin(__builtin___strlcat_chk) && __HAS_FIXED_CHK_PROTOTYPES
-#undef strlcat
-#define strlcat(dest, src, len)                                 \
-  __builtin___strlcat_chk (dest, src, len, __darwin_obsz (dest))
-#endif
-#endif /* __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 */
-#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
-
-#if __has_builtin(__builtin___strncpy_chk) || defined(__GNUC__)
-#undef strncpy
-#define strncpy(dest, src, len)					\
-  __builtin___strncpy_chk (dest, src, len, __darwin_obsz (dest))
-#endif
-
-#if __has_builtin(__builtin___strcat_chk) || defined(__GNUC__)
-#undef strcat
-#define strcat(dest, src)					\
-  __builtin___strcat_chk (dest, src, __darwin_obsz (dest))
-#endif
-
-#if ! (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 32000)
-#if __has_builtin(__builtin___strncat_chk) || defined(__GNUC__)
-#undef strncat
-#define strncat(dest, src, len)					\
-  __builtin___strncat_chk (dest, src, len, __darwin_obsz (dest))
-#endif
-#endif
-
-#ifdef _undef__has_builtin
-#undef _undef__has_builtin
-#undef __has_builtin
-#endif
-
-#undef __HAS_FIXED_CHK_PROTOTYPES
-
-#endif /* _USE_FORTIFY_LEVEL > 0 */
-#endif /* _SECURE__STRING_H_ */
diff --git a/tests/bugs/issue-82/include/string.h b/tests/bugs/issue-82/include/string.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/string.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- */
-/*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)string.h	8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _STRING_H_
-#define	_STRING_H_
-
-#include <_types.h>
-#include <sys/cdefs.h>
-#include <Availability.h>
-/*#include <sys/_types/_size_t.h>*/
-/*#include <sys/_types/_null.h>*/
-
-/* ANSI-C */
-
-__BEGIN_DECLS
-void	*memchr(const void *, int, int);
-int	 memcmp(const void *, const void *, int);
-void	*memcpy(void *, const void *, int);
-void	*memmove(void *, const void *, int);
-void	*memset(void *, int, int);
-char	*strcat(char *, const char *);
-char	*strchr(const char *, int);
-int	 strcmp(const char *, const char *);
-int	 strcoll(const char *, const char *);
-char	*strcpy(char *, const char *);
-int	 strcspn(const char *, const char *);
-//Begin-Libc
-#ifndef LIBC_ALIAS_STRERROR
-//End-Libc
-char	*strerror(int) /*__DARWIN_ALIAS(strerror)*/;
-//Begin-Libc
-#else /* LIBC_ALIAS_STRERROR */
-char	*strerror(int) LIBC_ALIAS(strerror);
-#endif /* !LIBC_ALIAS_STRERROR */
-//End-Libc
-int	 strlen(const char *);
-char	*strncat(char *, const char *, int);
-int	 strncmp(const char *, const char *, int);
-char	*strncpy(char *, const char *, int);
-char	*strpbrk(const char *, const char *);
-char	*strrchr(const char *, int);
-int	 strspn(const char *, const char *);
-char	*strstr(const char *, const char *);
-char	*strtok(char *, const char *);
-int	 strxfrm(char *, const char *, int);
-__END_DECLS
-
-
-
-/* Additional functionality provided by:
- * POSIX.1c-1995,
- * POSIX.1i-1995,
- * and the omnibus ISO/IEC 9945-1: 1996
- */
-
-#if __DARWIN_C_LEVEL >= 199506L
-__BEGIN_DECLS
-char	*strtok_r(char *, const char *, char **);
-__END_DECLS
-#endif /* __DARWIN_C_LEVEL >= 199506L */
-
-
-
-/* Additional functionality provided by:
- * POSIX.1-2001
- */
-
-#if __DARWIN_C_LEVEL >= 200112L
-__BEGIN_DECLS
-int	 strerror_r(int, char *, int);
-char	*strdup(const char *);
-void	*memccpy(void *, const void *, int, int);
-__END_DECLS
-#endif /* __DARWIN_C_LEVEL >= 200112L */
-
-
-
-/* Additional functionality provided by:
- * POSIX.1-2008
- */
-
-#if __DARWIN_C_LEVEL >= 200809L
-__BEGIN_DECLS
-char	*stpcpy(char *, const char *);
-char    *stpncpy(char *, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-char	*strndup(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-int   strnlen(const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-char	*strsignal(int sig);
-__END_DECLS
-#endif /* __DARWIN_C_LEVEL >= 200809L */
-
-/* C11 Annex K */
-
-#if defined(__STDC_WANT_LIB_EXT1__) && __STDC_WANT_LIB_EXT1__ >= 1
-#include <sys/_types/_rsize_t.h>
-#include <sys/_types/_errno_t.h>
-
-__BEGIN_DECLS
-errno_t	memset_s(void *, rsize_t, int, rsize_t) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
-__END_DECLS
-#endif
-
-/* Darwin extensions */
-
-#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-/*#include <sys/_types/_ssize_t.h>*/
-
-__BEGIN_DECLS
-void	*memmem(const void *, int, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
-void     memset_pattern4(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-void     memset_pattern8(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-void     memset_pattern16(void *, const void *, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_3_0);
-
-char	*strcasestr(const char *, const char *);
-char	*strnstr(const char *, const char *, int);
-int	 strlcat(char *, const char *, int);
-int	 strlcpy(char *, const char *, int);
-void	 strmode(int, char *);
-char	*strsep(char **, const char *);
-
-/* SUS places swab() in unistd.h.  It is listed here for source compatibility */
-void	 swab(const void * __restrict, void * __restrict, int);
-__END_DECLS
-
-/* Some functions historically defined in string.h were placed in strings.h
- * by SUS.  We are using "strings.h" instead of <strings.h> to avoid an issue
- * where /Developer/Headers/FlatCarbon/Strings.h could be included instead on
- * case-insensitive file systems.
- */
-#include "strings.h"
-#endif /* __DARWIN_C_LEVEL >= __DARWIN_C_FULL */
-
-
-#ifdef _USE_EXTENDED_LOCALES_
-#include <xlocale/_string.h>
-#endif /* _USE_EXTENDED_LOCALES_ */
-
-#if defined (__GNUC__) && _FORTIFY_SOURCE > 0 && !defined (__cplusplus)
-/* Security checking functions.  */
-#include <secure/_string.h>
-#endif
-
-#endif /* _STRING_H_ */
diff --git a/tests/bugs/issue-82/include/strings.h b/tests/bugs/issue-82/include/strings.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/strings.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-/*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)strings.h	8.1 (Berkeley) 6/2/93
- */
-
-#ifndef _STRINGS_H_
-#define _STRINGS_H_
-
-#include <_types.h>
-
-#include <sys/cdefs.h>
-#include <Availability.h>
-/*#include <sys/_types/_size_t.h>*/
-
-__BEGIN_DECLS
-/* Removed in Issue 7 */
-#if !defined(_POSIX_C_SOURCE) || _POSIX_C_SOURCE < 200809L
-int	 bcmp(const void *, const void *, size_t) __POSIX_C_DEPRECATED(200112L);
-void	 bcopy(const void *, void *, size_t) __POSIX_C_DEPRECATED(200112L);
-void	 bzero(void *, size_t) __POSIX_C_DEPRECATED(200112L);
-char	*index(const char *, int) __POSIX_C_DEPRECATED(200112L);
-char	*rindex(const char *, int) __POSIX_C_DEPRECATED(200112L);
-#endif
-
-int	 ffs(int);
-int	 strcasecmp(const char *, const char *);
-int	 strncasecmp(const char *, const char *, int);
-__END_DECLS
-
-/* Darwin extensions */
-#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
-__BEGIN_DECLS
-int	 ffsl(long) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
-int	 ffsll(long long) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
-int	 fls(int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
-int	 flsl(long) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
-int	 flsll(long long) __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
-__END_DECLS
-
-#include <string.h>
-#endif
-
-#endif  /* _STRINGS_H_ */
-
diff --git a/tests/bugs/issue-82/include/sys/cdefs.h b/tests/bugs/issue-82/include/sys/cdefs.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/sys/cdefs.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 2006 - 2008 Apple Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-
-/***********************************************************************
- * Not to be installed in /usr/include
- ***********************************************************************/
-
-#ifndef _LIBC_SYS_CDEFS_H_
-#define _LIBC_SYS_CDEFS_H_
-
-/*
- * Now include the real sys/cdefs.h.  The checks in libc-features.h will assure
- * that those macros are consistent with the current build environment.
- */
-#include_next <sys/cdefs.h>
-#ifndef _LIBC_NO_FEATURE_VERIFICATION
-#if defined(__arm__) || defined(__i386__) || defined(__x86_64__)
-/*#  include "libc-features.h"*/
-#else
-#  error "Unknown architecture."
-#endif
-#endif /* _LIBC_NO_FEATURE_VERIFICATION */
-
-/*
- * symbol suffixes used for symbol versioning
- */
-#if defined(VARIANT_LEGACY)
-#  define LIBC_SUF_UNIX03		/* nothing */
-#  define LIBC_SUF_64_BIT_INO_T		/* nothing */
-#  define LIBC_SUF_NON_CANCELABLE	/* nothing */
-#  define LIBC_SUF_1050			/* nothing */
-#else /* !VARIANT_LEGACY */
-#  if __DARWIN_ONLY_UNIX_CONFORMANCE
-#    define LIBC_SUF_UNIX03		/* nothing */
-#  else /* !__DARWIN_ONLY_UNIX_CONFORMANCE */
-#    define LIBC_SUF_UNIX03		"$UNIX2003"
-#  endif /* __DARWIN_ONLY_UNIX_CONFORMANCE */
-
-#  if defined(VARIANT_INODE32)
-#    define LIBC_SUF_64_BIT_INO_T	/* nothing */
-#  else /* !VARIANT_INODE32 */
-#    if __DARWIN_ONLY_64_BIT_INO_T
-#      define LIBC_SUF_64_BIT_INO_T	/* nothing */
-#    else /* !__DARWIN_ONLY_64_BIT_INO_T */
-#      define LIBC_SUF_64_BIT_INO_T	"$INODE64"
-#    endif /* __DARWIN_ONLY_64_BIT_INO_T */
-#  endif /* VARIANT_INODE32 */
-
-#  if defined(VARIANT_CANCELABLE)
-#    define LIBC_SUF_NON_CANCELABLE	/* nothing */
-#  else /* !LIBC_NON_CANCELABLE */
-#    define LIBC_SUF_NON_CANCELABLE	"$NOCANCEL"
-#  endif /* LIBC_NON_CANCELABLE */
-
-#  if defined(VARIANT_PRE1050)
-#    define LIBC_SUF_1050		/* nothing */
-#  else /* !VARIANT_PRE1050 */
-#    if __DARWIN_ONLY_VERS_1050
-#      define LIBC_SUF_1050		/* nothing */
-#    else /* !__DARWIN_ONLY_VERS_1050 */
-#      define LIBC_SUF_1050		"$1050"
-#    endif /* __DARWIN_ONLY_VERS_1050 */
-#  endif /* VARIANT_PRE1050 */
-
-#endif /* LIBC_UNIX03 */
-
-#define LIBC_SUF_EXTSN			"$DARWIN_EXTSN"
-
-/*
- * symbol versioning macros
- */
-#define LIBC_ALIAS(sym)		__asm("_" __STRING(sym) LIBC_SUF_UNIX03)
-#define LIBC_ALIAS_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
-#define LIBC_ALIAS_I(sym)	__asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
-#define LIBC_INODE64(sym)	__asm("_" __STRING(sym) LIBC_SUF_64_BIT_INO_T)
-
-#define LIBC_1050(sym)		__asm("_" __STRING(sym) LIBC_SUF_1050)
-#define LIBC_1050ALIAS(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_UNIX03)
-#define LIBC_1050ALIAS_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_NON_CANCELABLE LIBC_SUF_UNIX03)
-#define LIBC_1050ALIAS_I(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T LIBC_SUF_UNIX03)
-#define LIBC_1050INODE64(sym)	__asm("_" __STRING(sym) LIBC_SUF_1050 LIBC_SUF_64_BIT_INO_T)
-
-#define LIBC_EXTSN(sym)		__asm("_" __STRING(sym) LIBC_SUF_EXTSN)
-#define LIBC_EXTSN_C(sym)	__asm("_" __STRING(sym) LIBC_SUF_EXTSN LIBC_SUF_NON_CANCELABLE)
-
-extern int pthread_key_init_np(int, void (*)(void *));
-
-#include <TargetConditionals.h>
-#if TARGET_IPHONE_SIMULATOR
-/* Simulator keys are offset by 200 */
-#define	__LIBC_PTHREAD_KEY(x)		(210 + (x))
-#else
-#define	__LIBC_PTHREAD_KEY(x)		(10 + (x))
-#endif
-
-/*
- * Libc pthread key assignments
- */
-#define __LIBC_PTHREAD_KEY_XLOCALE	__LIBC_PTHREAD_KEY(0)
-#define __LIBC_PTHREAD_KEY_TTYNAME	__LIBC_PTHREAD_KEY(1)
-#define __LIBC_PTHREAD_KEY_LOCALTIME	__LIBC_PTHREAD_KEY(2)
-#define __LIBC_PTHREAD_KEY_GMTIME	__LIBC_PTHREAD_KEY(3)
-#define __LIBC_PTHREAD_KEY_GDTOA_BIGINT	__LIBC_PTHREAD_KEY(4)
-#define __LIBC_PTHREAD_KEY_PARSEFLOAT	__LIBC_PTHREAD_KEY(5)
-
-#endif /* _LIBC_SYS_CDEFS_H_ */
diff --git a/tests/bugs/issue-82/include/xlocale/_string.h b/tests/bugs/issue-82/include/xlocale/_string.h
deleted file mode 100644
--- a/tests/bugs/issue-82/include/xlocale/_string.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2005 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- * 
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
- */
-
-#ifndef _XLOCALE__STRING_H_
-#define _XLOCALE__STRING_H_
-
-__BEGIN_DECLS
-int	 strcoll_l(const char *, const char *, locale_t);
-size_t	 strxfrm_l(char *, const char *, size_t, locale_t);
-int	 strcasecmp_l(const char *, const char *, locale_t);
-char    *strcasestr_l(const char *, const char *, locale_t);
-int	 strncasecmp_l(const char *, const char *, size_t, locale_t);
-__END_DECLS
-
-#endif /* _XLOCALE__STRING_H_ */
diff --git a/tests/regression-suite.yaml b/tests/regression-suite.yaml
deleted file mode 100644
--- a/tests/regression-suite.yaml
+++ /dev/null
@@ -1,112 +0,0 @@
--
-    name: abcBridge
-    on-travis: false
-
-# COMMENTED FOR THE MOMENT BECAUSE OF BOUNDS ON C2HS DEPENDENCY
-# -
-#     name: al
-#     apt-packages: [libopenal-dev]
-
--
-  name: alsa-mixer
-  apt-packages: [libasound2-dev]
-
-# DEPENDENCY ONLY AVAILABLE IN UBUNTU 14.04+: TRAVIS IS AT 12.04
-#-
-#  name: bullet
-#  apt-packages: [libbullet-dev]
-
--
-  name: cuda-shared-setup
-  cabal: false
-  on-travis: false
-  special-setup:
-    - mkdir cuda-packages
-    - aws s3 sync s3://cuda-packages ./cuda-packages
-    - sudo dpkg -i ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
-    - /bin/rm ./cuda-packages/cuda-repo-ubuntu1204_6.5-14_amd64.deb
-    - sudo apt-get update
-    - "sudo bash -c 'mv ./cuda-packages/*.deb /var/cache/apt/archives'"
-    - sudo apt-get install -y cuda
-  apt-packages: [acpid, consolekit, dkms, lib32gcc1, libc-bin,
-                 libc-dev-bin, libc6, libc6-dev, libc6-i386,
-                 libck-connector0, libpam-ck-connector,
-                 libpolkit-agent-1-0, libpolkit-backend-1-0,
-                 libpolkit-gobject-1-0, libvdpau1, libxmu-dev,
-                 libxmu-headers, policykit-1, policykit-1-gnome,
-                 python-xkit, screen-resolution-extra]
-  extra-path: [/usr/local/cuda-6.5/bin]
-  extra-so-path: [/usr/local/cuda-6.5/lib]
-
--
-  name: cuda
-  on-travis: false
-  extra-include-dirs: [/usr/local/cuda-6.5/include]
-  extra-lib-dirs: [/usr/local/cuda-6.5/lib64]
-
--
-  name: cufft
-  on-travis: false
-  extra-include-dirs: [/usr/local/cuda-6.5/include]
-  extra-lib-dirs: [/usr/local/cuda-6.5/lib64]
-
-# BROKEN
-#-
-#  name: CV
-#  apt-packages: [libopencv-dev, libcv-dev, libhighgui-dev]
-
--
-  name: gnome-keyring
-  apt-packages: [libgnome-keyring-dev]
-
--
-  name: gnuidn
-  apt-packages: [libidn11-dev]
-  on-travis: false
-
--
-  name: haskell-mpi
-  apt-packages: [libopenmpi-dev]
-  extra-include-dirs: [/usr/include/openmpi]
-  on-travis: false
-
--
-  name: hnetcdf
-  apt-packages: [libnetcdf-dev, libgsl0-dev, liblapack-dev]
-  run-tests: true
-
--
-  name: hpuz
-
--
-  name: hsndfile
-  apt-packages: [libsndfile1-dev]
-
--
-  name: hsshellscript
-
-# DEPENDENCIES ONLY AVAILABLE IN UBUNTU 14.04+: TRAVIS IS AT 12.04
-# -
-#   name: hsqml
-#   apt-packages: [???]
-#   on-travis: false
-
--
-  name: igraph
-  apt-ppa: [igraph/ppa]
-  apt-packages: [libigraph0-dev]
-  on-travis: false
-
--
-  name: libssh2
-  apt-packages: [libssh2-1-dev]
-
-# BUILD PROBLEMS WITH CURRENT C2HS
-#-
-#  name: ncurses
-#  apt-packages: [ncurses-dev]
-
-# NEED TO RETEST
-# -
-#   name: OpenCL
-#   on-travis: false
diff --git a/tests/system/clean b/tests/system/clean
deleted file mode 100644
--- a/tests/system/clean
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-find . -name \*.o | xargs /bin/rm 2> /dev/null
-find . -name \*.hs | xargs /bin/rm 2> /dev/null
-find . -name \*.chi | xargs /bin/rm 2> /dev/null
-find . -name \*.chs.h | xargs /bin/rm 2> /dev/null
-find . -name \*.hi | xargs /bin/rm 2> /dev/null
-find . -mindepth 2 -type f -a -executable | xargs /bin/rm 2> /dev/null
