diff --git a/TODO b/TODO index 7c6637eb08d4413b9b608d35a46e8e4c29342adf..fe1b2b8b6942d3ac14eb95c2969e2b5c1902e076 100644 --- a/TODO +++ b/TODO @@ -1,29 +1,25 @@ +preConf does not have a program configuration available so we cannot run +programs! But that's often exactly what we need to do to help generate the +config. We need a Config monad. + OLD TODOS: * Parsing -** Allow quoting in the options fields, to allow things like - -f"something with spaces" +** Make the parsing functions pure. +** Enable access to the x- extension fields, as simple [(String, String)] + name-value pairs. * Doc -** do comments have to start in the first column? -** clarify relationship between other-modules and modules, etc. -** add preprocessor explanation (see bottom of this TODO). -** Fix example for angela, expose Data.Set, etc, not A, B, etc.b -** add information about executable stanzas ** elimintate need for cpphs in haddock makefile rule. ** add info about deb packages to web page at least check out the manpage for dh_haskell, section "How to package a haskell library" * Misc -** HC-PKG (see "Depends on HC-PKG" below) -** 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. -** add sanity checking command? +** add sanity checking / QA command? * testing -** find a real test case that uses preprocessors +** find a real test case that uses preprocessors: gtk2hs ** add a make target or command for tests we know will fail? ** setup test suite to run on --push? ** redirect non-hunit outputs to a file? @@ -31,14 +27,10 @@ OLD TODOS: ** 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 ------------------------------------------------------------ -= Future Releases =- -* Depends on HC-PKG -** configure: check for presence of build dependencies - * NHC Support ** look carefully at "rawSystem" and error handing stuff for nhc. ** add install target for nhc @@ -57,8 +49,8 @@ OLD TODOS: ** sign flag? -** for fields like allModules, allow user to specify "Foo.Bar.*" or - something to indicate all haskell modules under that? +** for fields like data-files or extra-source-files, allow user to specify + "foo/bar/*.baz" or something to indicate all files matching that? ** Get function from hmake that creates a directory based on arch. @@ -67,11 +59,7 @@ OLD TODOS: else. - give to John Goerzen? -** 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 version of compiler ** hat support ** per-system source database @@ -79,42 +67,3 @@ OLD TODOS: ** helium ** hbc - ------------------------------------------------------------- - -* Orthogonal (layered?) tools - -** visual studio support - -** hackage - -** 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? - ------------------------------------------------------------- -[1] Foo.y is a happy grammer which, when processed, will produce Foo.hs. - -The description file should include the module Foo. - -./setup sdist (source distribution): Include Foo.y, not Foo.hs. Maybe -we could add a flag to include Foo.hs as well. This makes sense for -some preprocessors and not for others, but I'm wary of including too -much preprocessor-specific behavior. - -./setup clean: Removes Foo.hs if Foo.y exists. - -./setup build: Preprocesses Foo.y to Create Foo.hs before any -compilation. - -The issue with cpp is that we can't go by extensions as we do with the -rest of the preprocessors... There is a function in HMake which tests -to see if a file needs to be cpp'd, so we can employ that. I think -we'll probably have to just treat cpp a little differently from the -others, unfortunitely, and I haven't gotten around to it.