[Bump version to 1.2, and document recent changes. Malcolm.Wallace@cs.york.ac.uk**20060223170937 Main change is the arrangement of modules into the hierarchical namespace, with a consequent exposure of a library API to cpphs. ] { hunk ./CHANGELOG 1 +Version 1.2 +----------- + * Re-arranged the source files into hierarchical libraries. + * Exposed the library interface as an installable Cabal package, with + Haddock documentation. + hunk ./README 31 -Copyright (c) 2004 Malcolm Wallace (Malcolm.Wallace@cs.york.ac.uk) -except for ParseLib (Copyright (c) 1995 Graham Hutton and Erik Meijer) +Copyright (c) 2004-2006 Malcolm Wallace (Malcolm.Wallace@cs.york.ac.uk) +except for Text.ParserCombinators.HuttonMeijer (Copyright (c) 1995 +Graham Hutton and Erik Meijer). hunk ./README 48 +darcs get http://www.cs.york.ac.uk/fp/darcs/cpphs hunk ./cpphs.cabal 2 -Version: 1.1 -Copyright: 2004-5, Malcolm Wallace +Version: 1.2 +Copyright: 2004-6, Malcolm Wallace hunk ./cpphs.cabal 25 - CppIfdef, HashDefine, MacroPass, ParseLib, - Position, ReadFirst, RunCpphs, SymTab, Tokenise + Language.Preprocessor.Cpphs, + Language.Preprocessor.Cpphs.CppIfdef, + Language.Preprocessor.Cpphs.HashDefine, + Language.Preprocessor.Cpphs.MacroPass, + Language.Preprocessor.Cpphs.Options, + Language.Preprocessor.Cpphs.Position, + Language.Preprocessor.Cpphs.ReadFirst, + Language.Preprocessor.Cpphs.RunCpphs, + Language.Preprocessor.Cpphs.SymTab, + Language.Preprocessor.Cpphs.Tokenise, + Text.ParserCombinators.HuttonMeijer hunk ./cpphs.compat 4 -CPPHS=/usr/malcolm/local/haskell/compilers/nhc98/src/cpphs/cpphs +CPPHS=/usr/malcolm/Haskell/cpphs/cpphs hunk ./cpphs.hs 6 --- This file is placed into the public domain, as it is so trivial that it --- probably is unprotectable. Note however, that it uses modules 'RunCpphs', --- which is GPL, and 'System' which is Haskell'98. All other modules used --- in turn by those are either distributed under the LGPL, or are Haskell'98. +-- This file is licensed under the GPL. Note however, that all other +-- modules used by it are either distributed under the LGPL, or are Haskell'98. hunk ./cpphs.hs 17 -import IO (stdout, IOMode(WriteMode), openFile, hPutStr, hFlush, hClose) +import IO ( stdout, IOMode(WriteMode), openFile, hPutStr, hFlush, hClose ) hunk ./cpphs.hs 21 -version = "1.1" +version = "1.2" hunk ./cpphs.hs 71 --- | Execute the preprocessor --- Using the given arguments, an output and an input --- If the filepath is Nothing then default to stdout/stdin as appropriate +-- | Execute the preprocessor, +-- using the given options; an output path; and an input path. +-- If the filepath is Nothing then default to stdout/stdin as appropriate. hunk ./docs/index.html 19 +cpphs as a library
hunk ./docs/index.html 44 - the gcc 3.x series is changing subtly in ways that are + the gcc 3.x and 4.x series has changed subtly in ways that are hunk ./docs/index.html 107 -Any syntax errors in cpp directives gives a message to stderr and -halts the program. Failure to find a #include'd file produces a -warning to stderr, but processing continues. +Any syntax error in a cpp directive gives a warning message to stderr. +Failure to find a #include'd file also produces a warning to stderr. In +both cases, processing continues on the rest of the input. hunk ./docs/index.html 171 -cpphs-1.1, release date 2005.10.14
+cpphs-1.2, release date 2006.02.xx
hunk ./docs/index.html 173 -.tar.gz, -.zip, +.tar.gz, +.zip, hunk ./docs/index.html 179 -
  • Fixed the .cabal way of building cpphs. -
  • Update the --version reported (forgotten in 1.0, which still - mistakenly reports 0.9). -
  • No longer throws an error on an empty file. +
  • Re-arranged the source files into hierarchical libraries. +
  • Exposed the library interface as an installable Cabal package, with + Haddock documentation. hunk ./docs/index.html 199 +

    +cpphs-1.1, release date 2005.10.14
    +By HTTP: +.tar.gz, +.zip, +

    + hunk ./docs/index.html 369 - ghc -cpp -pgmP cpphs.compat + ghc -cpp -pgmPcpphs.compat hunk ./docs/index.html 427 +
    +

    cpphs as a library

    +

    +You can use cpphs as a library from within a Haskell program. The main +interface is in Language.Preprocessor.Cpphs. Haddock +documentation is here. To make the library +available to your haskell compiler, you must install the cpphs package +using Cabal. + hunk ./docs/index.html 448 -

    Copyright: © 2004-2005 Malcolm Wallace, +

    Copyright: © 2004-2006 Malcolm Wallace, hunk ./docs/index.html 454 -other arrangements. The application module 'Main.hs' itself is GPL +other arrangements. The application module 'cpphs.hs' itself is GPL }