* 0.1
RC:
** look carefully at "rawSystem" and error handing stuff for nhc.
** grep for "FIX"
** doc
*** add description file format to doc. - esp field descriptions
*** Fix section on "why must we list hidden modules?"
*** add information about executable stanzas
** Look over rest of TODO list.  Should anything be promoted?
** add haddock generated stuff to .deb.

HIGH: 

LOW
** clean 
- should .installed-pkg-config be removed after successful register?
** Change name of Setup.description?


* 0.2
** elimintate need for cpphs in haddock makefile rule.
** It actually makes sense to have several libraries ("hs-packages")
   in one package ("cabal-package"), look at wxhaskell for example.
   - So, Library stanzas, I suppose
   - ./setup build should take an optional list of build targets
     (that is, library and executable names)
   - The overloaded terminology is *way* confusing. Feh.
** API Versioning? Libtool-style or just a major number?
** Extensions
- complain if their use makes the code non-portable?
-- but what does this mean? ghc & hugs?
** Parse error reporting
** Reorganize compiler dependent code into Distribution.Compiler.*
** Allow quoting in the options fields, to allow things like
   -f"something with spaces"
** Instead of freaking out on unknown fields, the parser should return
   a list of those unknown fields so a warning can be printed. Or not.


* 1.0 
** add a make target or command for tests we know will fail?
** HC-PKG (see "Depends on HC-PKG" below)
** port code to windows
** ./Setup.lhs build for nhc
** better command-line parsing interface
** ./Setup.lhs bdist
** add more layered tools to appendix?
** make reference to "layered tools" appendix where approprote
** integrate hscpp, use it for preprocessing step.
** SDist for windows machines, or machines without tar.
** Better way to find 'tar'; is there a library?
** sanity checking tool for configuration; are all the .hs files
   included, etc.

* testing
** setup test suite to run on --push?
** redirect non-hunit outputs to a file?
** test / port code for Hugs and nhc
** error cases for parsing command-line args
** reading & writing configuration-dropping
** use-cases based on SimonPJ's doc
** discovering the location of the given flavor of compiler and pkg tool

* Depends on HC-PKG
** buildDepToDep in Configure doesn't set version dependency
** nhc-pkg (see old package manager code)
** hugs-pkg
** register
*** for hugs & nhc
** configure: check for presence of build dependencies

* Misc
** create a (native?) zlib library?

** sign flag?

** for fields like allModules, allow user to specify "Foo.Bar.*" or
   something to indicate all haskell modules under that?

** Get function from hmake that creates a directory based on arch.

** ./Setup test
- this may be something that's easy to break off and give to someone else.

** writePersistBuildConfig robustify + diagnostics
** elaborate command-line help text
** configure should check for 'ar' args + properties (see fptools/aclocal.m4)
** most commands should accept a -v flag to show command lines?
** configure should check sanity of PackageDescription, eg. library /= "" ?

------------------------------------------------------------
* Setup Command-line interface
** Actions
- build
- install (+maybe installprefix, maybe system)
- configure (+flags)
- packageinfo
- sdist
- clean
- register (maybe system)
- unregister (maybe system)

** flags
--help
--ghc
--nhc
--hugs
--with-compiler=
--prefix=
--instprefix=

* 1.0
** actions
- bdist
- doc stuff?

** flags
--hbc
--helium
--with-compiler=


------------------------------------------------------------

* Priorities for first beta release
(basically what was in SPJ's document):

** Basic command-line interface for configure, build, install,
   register, unregister, info
** Ability to wrap make
** basic build system (think hmake)
** binary distributions?

* Priorities for 1.0
** binary distributions?
** basic pre-processor extensions
** hat support
** haddock support
** user use configuration vs system use configuration

* looking ahead
** per-system source database
** rebuild for new compiler

* Orthogonal (layered?) tools

** visual studio support

** public database of packages

** downloadable public database of packages (wget filename;tar xf
   filename;cd filename;./setup install)

   NOTE: such an interface might be implemented w/ xml-rpc, which is
   there for Haskell now, though in general we'll probabliy want to be
   careful here about dependencies.

** debian package building (boilerplate) tool.  Other debian support
   w/ rebuild-all-packages?
