-- Initial Language.Fortran.cabal generated by cabal init.  For further
-- documentation, see http://haskell.org/cabal/users-guide/

name:                fortran-src
version:             0.2.0.0
synopsis:            Parser and anlyses for Fortran standards 66, 77, 90.
description:         Provides lexing, parsing, and basic analyses of Fortran code covering standards: FORTRAN 66, FORTRAN 77, and Fortran 90. Includes data flow and basic block analysis, a renamer, and type analysis. For example usage, see the 'camfort' project, which uses fortran-src as its front end.
bug-reports:         https://github.com/camfort/fortran-src/issues
license:             Apache-2.0
license-file:        LICENSE
author:              Mistral Contrastin, Matthew Danish, Dominic Orchard, Andrew Rice
maintainer:          me@madgen.net
-- copyright:
category:            Language
build-type:          Simple
-- extra-source-files:
cabal-version:       >=1.10
source-repository head
  type:     git
  location: https://github.com/camfort/fortran-src

executable fortran-src
  main-is: Main.hs
  hs-source-dirs: src
  build-depends:
    base >= 4.6 && < 5,
    mtl >= 2.2 && < 3,
    array >= 0.5 && < 0.6,
    uniplate >= 1.6 && < 2,
    GenericPretty >= 1.2 && < 2,
    pretty >= 1.1 && < 2,
    containers >= 0.5 && < 0.6,
    text >= 1.2 && < 2,
    bytestring >= 0.10 && < 0.11,
    binary >= 0.8.3.0 && < 0.9,
    filepath >= 1.4 && < 2,
    directory >= 1.2 && < 2,
    fgl >= 5 && < 6
  other-modules:
    Language.Fortran.Analysis
    Language.Fortran.Analysis.Renaming
    Language.Fortran.Analysis.Types
    Language.Fortran.Analysis.BBlocks
    Language.Fortran.Analysis.DataFlow
    Language.Fortran.AST
    Language.Fortran.Intrinsics
    Language.Fortran.Lexer.FixedForm
    Language.Fortran.Lexer.FreeForm
    Language.Fortran.ParserMonad
    Language.Fortran.Parser.Any
    Language.Fortran.Parser.Fortran66
    Language.Fortran.Parser.Fortran77
    Language.Fortran.Parser.Fortran90
    Language.Fortran.Parser.Utils
    Language.Fortran.PrettyPrint
    Language.Fortran.Transformation.Disambiguation.Function
    Language.Fortran.Transformation.Disambiguation.Intrinsic
    Language.Fortran.Transformation.Grouping
    Language.Fortran.Transformation.TransformMonad
    Language.Fortran.Transformer
    Language.Fortran.Util.Position
    Language.Fortran.Util.FirstParameter
    Language.Fortran.Util.SecondParameter
    Language.Fortran.Util.ModFile
  ghc-options: -fno-warn-tabs
  default-language: Haskell2010

library
  exposed-modules:
    Language.Fortran.Analysis
    Language.Fortran.Analysis.Renaming
    Language.Fortran.Analysis.Types
    Language.Fortran.Analysis.BBlocks
    Language.Fortran.Analysis.DataFlow
    Language.Fortran.AST
    Language.Fortran.Intrinsics
    Language.Fortran.Lexer.FixedForm
    Language.Fortran.Lexer.FreeForm
    Language.Fortran.ParserMonad
    Language.Fortran.Parser.Any
    Language.Fortran.Parser.Fortran66
    Language.Fortran.Parser.Fortran77
    Language.Fortran.Parser.Fortran90
    Language.Fortran.Parser.Utils
    Language.Fortran.PrettyPrint
    Language.Fortran.Transformation.Disambiguation.Function
    Language.Fortran.Transformation.Disambiguation.Intrinsic
    Language.Fortran.Transformation.Grouping
    Language.Fortran.Transformation.TransformMonad
    Language.Fortran.Transformer
    Language.Fortran.Util.Position
    Language.Fortran.Util.FirstParameter
    Language.Fortran.Util.SecondParameter
    Language.Fortran.Util.ModFile
  build-tools:
    alex >= 3.1,
    happy >= 1.19
  build-depends:
    base >= 4.6 && < 5,
    mtl >= 2.2 && < 3,
    array >= 0.5 && < 0.6,
    uniplate >= 1.6 && < 2,
    GenericPretty >= 1.2 && < 2,
    pretty >= 1.1 && < 2,
    containers >= 0.5 && < 0.6,
    text >= 1.2 && < 2,
    bytestring >= 0.10 && < 0.11,
    binary >= 0.8.3.0 && < 0.9,
    filepath >= 1.4 && < 2,
    directory >= 1.2 && < 2,
    fgl >= 5 && < 6
  hs-source-dirs:      src
  ghc-options: -fno-warn-tabs
  default-language:    Haskell2010

test-suite spec
  type: exitcode-stdio-1.0
  build-depends:
    base >= 4.6 && < 5,
    hspec >= 2.2 && < 3,
    mtl >= 2.2 && < 3,
    array >= 0.5 && < 0.6,
    uniplate >= 1.6 && < 2,
    directory >= 1.2 && < 2,
    filepath >= 1.4 && < 2,
    GenericPretty >= 1.2 && < 2,
    pretty >= 1.1 && < 2,
    containers >= 0.5 && < 0.6,
    text >= 1.2 && < 2,
    bytestring >= 0.10 && < 0.11,
    binary >= 0.8.3.0 && < 0.9,
    fgl >= 5 && < 6,
    fortran-src
  hs-source-dirs: test
  main-is: Spec.hs
  default-language:    Haskell2010