name:                hpp
version:             0.3.0.0
synopsis:            A Haskell pre-processor

description: @hpp@ is a Haskell pre-processor that is also a
             C89/C90-compatible pre-processor (with the addition of a
             @--cpp@ flag). It is packaged as both a library and
             an executable.
             
             .

             To use as a Haskell preprocessor for resolving @#ifdef@
             conditionals and simple macro expansion while still
             allowing multi-line string literals, an invocation might
             look like,
             .
             @
             hpp -DDEBUG Foo.hs
             @
             .
             To use as a C preprocessor, an invocation might look
             like,
             .
             @
             hpp -DDEBUG --cpp foo.c
             @
             .

             To have GHC use @hpp@ as the C pre-processor, add this
             line to the top of a Haskell source file that makes use
             of the @CPP@ @LANGUAGE@ pragma.
             .
             
             @
             {-\# OPTIONS_GHC -cpp -pgmPhpp -optP\-\-cpp \#-}
             @


license:             BSD3
license-file:        LICENSE
author:              Anthony Cowley
maintainer:          acowley@gmail.com
copyright:           (C) 2015 Anthony Cowley
category:            Development
build-type:          Simple
extra-source-files:  tests/mcpp-validation.sh, CHANGELOG.md
cabal-version:       >=1.10
homepage:            https://github.com/acowley/hpp
source-repository head
  type:     git
  location: http://github.com/acowley/hpp.git

library
  exposed-modules:     Hpp,
                       Hpp.CmdLine,
                       Hpp.Config,
                       Hpp.Env,
                       Hpp.Expansion,
                       Hpp.Expr,
                       Hpp.Parser,
                       Hpp.Streamer,
                       Hpp.StreamIO,
                       Hpp.String,
                       Hpp.Tokens,
                       Hpp.Types
  build-depends:       base >=4.7 && <4.10, directory, time, filepath,
                       transformers
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options: -Wall -fno-full-laziness
  -- ghc-options: -Wall -fprof-auto -fno-full-laziness -ddump-simpl -ddump-to-file
--  -ddump-simpl-stats

executable hpp
  main-is:             src/Main.hs
  build-depends:       hpp, base >=4.7 && <4.10, directory, time, filepath
  hs-source-dirs:      .
  default-language:    Haskell2010
  ghc-options: -Wall