packages feed

language-c-0.4.7: language-c.cabal

Name:           language-c
Version:        0.4.7
Cabal-Version:  >= 1.6
Build-Type:     Simple
License:        BSD3
License-File:   LICENSE
Copyright:      LICENSE
Author:         AUTHORS
Maintainer:     benedikt.huber@gmail.com
Stability:      experimental
Homepage:       http://www.sivity.net/projects/language.c/
Bug-reports:    http://www.sivity.net/projects/language.c/

Synopsis:       Analysis and generation of C code
Description:    Language C is a haskell library for the analysis and generation of C code.
                It features a complete, well tested parser and pretty printer for all of C99 and a large
                set of GNU extensions.
Category:       Language

Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
                    src/Language/C/Parser/Lexer.x
                    src/Language/C/Parser/Parser.y

Source-Repository head
  type:     darcs
  location: http://code.haskell.org/language-c

Flag splitBase
    Description: Choose the new smaller, split-up base package.
Flag useByteStrings
    Description: Use ByteString as InputStream datatype
    Default: True
Flag separateSYB
  description: Data.Generics available in separate package.

Library
    Extensions: CPP, DeriveDataTypeable, PatternGuards, BangPatterns, ExistentialQuantification, GeneralizedNewtypeDeriving, ScopedTypeVariables
    Build-Depends:  filepath

    if flag(splitBase)
        Build-Depends: base >= 3 && < 5, process, directory, array, containers, pretty

        If flag(separateSYB)
          Build-Depends:
            base >=4 && <5,
            syb
        Else
          Build-Depends:
            base <4
    else
        Build-Depends: base < 3

    if flag(useByteStrings)
        Build-Depends: bytestring >= 0.9.0
    else
        cpp-options: -DNO_BYTESTRING
    Build-Tools:    happy, alex

    Hs-Source-Dirs: src
    Exposed-Modules:
                      -- top-level
                      Language.C
                      -- data
                      Language.C.Data
                      Language.C.Data.Position
                      Language.C.Data.Ident
                      Language.C.Data.Error
                      Language.C.Data.Name
                      Language.C.Data.Node
                      Language.C.Data.InputStream
                      -- syntax
                      Language.C.Syntax
                      Language.C.Syntax.AST
                      Language.C.Syntax.Constants
                      Language.C.Syntax.Ops
                      Language.C.Syntax.Utils
                      -- parser
                      Language.C.Parser
                      -- pretty printer
                      Language.C.Pretty
                      -- system
                      Language.C.System.Preprocess
                      Language.C.System.GCC
                      -- analysis [experimental]
                      Language.C.Analysis
                      Language.C.Analysis.ConstEval
                      Language.C.Analysis.Builtins
                      Language.C.Analysis.SemError
                      Language.C.Analysis.SemRep
                      Language.C.Analysis.DefTable
                      Language.C.Analysis.TravMonad
                      Language.C.Analysis.AstAnalysis
                      Language.C.Analysis.DeclAnalysis
                      Language.C.Analysis.Debug
                      Language.C.Analysis.TypeCheck
                      Language.C.Analysis.TypeConversions
                      Language.C.Analysis.TypeUtils
                      Language.C.Analysis.NameSpaceMap
                      -- semrep -> code [alpha]
                      Language.C.Analysis.Export
    Other-Modules:
                      Language.C.Data.RList
                      -- parser implementation
                      Language.C.Parser.Builtin
                      Language.C.Parser.Lexer
                      Language.C.Parser.ParserMonad
                      Language.C.Parser.Tokens
                      Language.C.Parser.Parser