packages feed

rfc-http-client-0.0.0.1: package.common.yaml

- &defaults
  author: Robert Fischer
  maintainer: smokejumperit+rfc@gmail.com
  license: MIT
  license-file: LICENSE

  flags:
    production:
      description: If true, disables failing on warnings and enables aggressive optimizations.
      manual: true
      default: false

  library:
    source-dirs:
      - './src'

  extra-source-files:
    - LICENSE
    - README.md
    - package.yaml
    - package.common.yaml

  default-extensions:
    - ApplicativeDo
    - BangPatterns
    - ConstraintKinds
    - DataKinds
    - DefaultSignatures
    - DeriveFoldable
    - DeriveFunctor
    - DeriveGeneric
    - DeriveLift
    - DeriveTraversable
    - ExistentialQuantification
    - FlexibleContexts
    - FlexibleInstances
    - FunctionalDependencies
    - GADTs
    - GeneralizedNewtypeDeriving
    - InstanceSigs
    - KindSignatures
    - LambdaCase
    - MultiParamTypeClasses
    - MultiWayIf
    - NamedFieldPuns
    - PatternSynonyms
    - RankNTypes
    - ScopedTypeVariables
    - StandaloneDeriving
    - TupleSections
    - TypeApplications
    - TypeFamilies
    - TypeFamilyDependencies
    - TypeOperators  
    - RebindableSyntax
    - MonadFailDesugaring
    - DisambiguateRecordFields

  ghc-options: 
    - -Wall
    - -Wcompat 
    - -Wincomplete-record-updates 
    - -Wincomplete-uni-patterns 
    - -Wredundant-constraints 
    - -fno-max-relevant-binds 
    - -fprint-potential-instances 
    - -fprint-explicit-foralls
    - -Wno-missing-monadfail-instances
    - -fno-warn-name-shadowing 
    - -fno-warn-tabs 
    - -fno-warn-orphans
    - -Wnoncanonical-monad-instances 
    - -Wall-missed-specialisations
    - -Wnoncanonical-monadfail-instances 
    - -Wimplicit-prelude 
    - -Wmissing-exported-signatures 
    - -Widentities
    - -j

  when:
  - condition: flag(production)
    then:
      ghc-options:
        - -feager-blackholing 
        - -funbox-strict-fields 
        - -fstatic-argument-transformation
        - -flate-dmd-anal 
        - -fexpose-all-unfoldings 
        - -fspecialise-aggressively 
        - -fexcess-precision 
        - -fmax-simplifier-iterations=15
        - -fsimplifier-phases=4
        - -fstrictness-before=3
        - -funfolding-keeness-factor=1.5
        - -funfolding-use-threshold=150
    else:
      cpp-options:
        - -DDEVELOPMENT
      ghc-options:
        - -freverse-errors
        - -Werror 
        - -dcore-lint 
        - -dcmm-lint