packages feed

mios-1.5.4: mios.cabal

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

name:                   mios
version:                1.5.4
synopsis:               A Minisat-based CDCL SAT solver in Haskell
description:

  A modern and very fast SAT solver written in Haskell, using CDCL, watch literals, VSIDS,
  blocking-literals, phase saving, LBD, Glucose-like restart and so on.
  'Mios' is an abbreviation of 'Minisat-based Implementation and Optimization Study on SAT solver'.
  .

homepage:               https://github.com/shnarazk/mios
license:                GPL-3
license-file:           LICENSE
author:                 Shuji Narazaki <narazaki@nagasaki-u.ac.jp>
maintainer:             Shuji Narazaki <narazaki@nagasaki-u.ac.jp>
category:               Artificial Intelligence, Constraints
build-type:             Simple
cabal-version:          >=1.16
extra-source-files:     app/sample.hs

source-repository head
  type:                 git
  location:             https://github.com/shnarazk/mios

Flag llvm
  Description:	        Compile with llvm
  Default:	        False

Flag MultiConflict
  Description:	        Build tools in MultiConflict
  Default:	        False

Flag utils
  Description:	        Build misc utilities for developer
  Default:	        False

library
  hs-source-dirs:	src
  default-language:	Haskell2010
  default-extensions:   Strict
  other-extensions:	BangPatterns
                        FlexibleContexts
                        FlexibleInstances
                        FunctionalDependencies
                        MagicHash
                        MultiParamTypeClasses
                        RecordWildCards
                        ScopedTypeVariables
                        TypeFamilies
                        Trustworthy
                        TupleSections
                        Safe
                        UndecidableInstances
                        ViewPatterns
  exposed-modules:
                        SAT.Mios.Clause
                        SAT.Mios.ClauseManager
                        SAT.Mios.ClausePool
                        SAT.Mios.Criteria
                        SAT.Mios.Main
                        SAT.Mios.OptionParser
                        SAT.Mios.Solver
                        SAT.Mios.Vec
                        SAT.Mios.Types
                        SAT.Mios.Validator
                        SAT.Mios.Util.DIMACS.MinisatReader
                        SAT.Mios.Util.DIMACS.Reader
                        SAT.Mios.Util.DIMACS.Writer
                        SAT.Mios.Util.DIMACS
                        SAT.Mios.Util.BoolExp
                        SAT.Mios
  build-depends:        base >=4.10 && < 5, vector >=0.12, ghc-prim >=0.5, bytestring >=0.10, primitive >=0.6
  if flag(llvm)
    ghc-options:	-O2 -funbox-strict-fields -fllvm -optlo-O3 -optlc-O3 -fwarn-missing-signatures
  else
    ghc-options:	-O2 -funbox-strict-fields -msse2 -fwarn-missing-signatures

executable mios-1.5.4
  hs-source-dirs:	app
  main-is:              mios.hs
  buildable:	        True
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios
  if flag(llvm)
    ghc-options:	-O2 -funbox-strict-fields -fllvm -optlo-O3 -optlc-O3 -rtsopts -fwarn-missing-signatures
  else
    ghc-options:	-O2 -funbox-strict-fields -msse2 -rtsopts -fwarn-missing-signatures

executable cnf-stat
  hs-source-dirs:	utils
  main-is:              cnf-stat.hs
  if flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mios-mc
  hs-source-dirs:	MultiConflict app
  main-is:              mios.hs
  if flag(MultiConflict)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  if flag(llvm)
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields -fllvm -optlo-O2 -optlc-O2
  else
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields

executable mc-dump2csv
  hs-source-dirs:	MultiConflict
  main-is:              utils/dump2csv.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mc-averagecsv
  hs-source-dirs:	MultiConflict
  main-is:              utils/averagecsv.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mc-summary
  hs-source-dirs:	MultiConflict
  main-is:              utils/summary.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mc-stat2csv
  hs-source-dirs:	MultiConflict
  main-is:              utils/stat2csv.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mc-pickup
  hs-source-dirs:	MultiConflict
  main-is:              utils/pickup.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields

executable mc-numbers
  hs-source-dirs:	MultiConflict
  main-is:              utils/numbers.hs
  if flag(MultiConflict) && flag(utils)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:   Strict
  build-depends:        base >=4.10 && < 5, mios, bytestring >=0.10
  ghc-options:	        -O1 -ignore-asserts -funbox-strict-fields