packages feed

mios-1.3.0: mios.cabal

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

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

  A modern and fast SAT solver written in Haskell, based on Minisat-1.14 and 2.2.
  By using CDCL, watch literals, VSIDS, restart, blocking-literals, LBD and so on.
  The current version is only 2.0 time slower than Minisat-2.2.
  '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

Flag llvm
  Description:	        Compile with llvm
  Default:	        False

Flag lib
  Description:	        Build the solver library
  Default:	        True

library
  if flag(lib)
    buildable:	        True
  else
    buildable:	        False
  default-language:	Haskell2010
  default-extensions:  Strict
  exposed-modules:
                        SAT.Mios
                        SAT.Mios.Clause
                        SAT.Mios.ClauseManager
                        SAT.Mios.Data.VecBool
                        SAT.Mios.Data.VecDouble
                        SAT.Mios.Data.Vec
                        SAT.Mios.Data.Singleton
                        SAT.Mios.Data.Stack
                        SAT.Mios.Internal
                        SAT.Mios.Main
                        SAT.Mios.OptionParser
--                        SAT.Mios.Ranking
                        SAT.Mios.Solver
                        SAT.Mios.Types
                        SAT.Mios.Validator
                        SAT.Mios.Util.CNFIO
                        SAT.Mios.Util.CNFIO.MinisatReader
                        SAT.Mios.Util.CNFIO.Reader
                        SAT.Mios.Util.CNFIO.Writer
                        SAT.Mios.Util.BoolExp
  build-depends:        base ==4.9.*, vector >=0.11, containers >=0.5, ghc-prim >=0.5, bytestring >=0.10, primitive >=0.6
  if flag(llvm)
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields -fllvm -optlo-O3
  else
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields -msse4.2

executable mios
  main-is:              app/mios.hs
  buildable:	        True
  default-language:	Haskell2010
  default-extensions:  Strict
  build-depends:        base ==4.9.*, vector >=0.11, containers >=0.5, ghc-prim >=0.5, bytestring >=0.10, primitive >=0.6
  if flag(llvm)
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields -fllvm -optlo-O3
  else
    ghc-options:	-O2 -ignore-asserts -funbox-strict-fields -msse4.2
  other-modules:
                        SAT.Mios
                        SAT.Mios.Clause
                        SAT.Mios.ClauseManager
                        SAT.Mios.Data.VecBool
                        SAT.Mios.Data.VecDouble
                        SAT.Mios.Data.Vec
                        SAT.Mios.Data.Singleton
                        SAT.Mios.Data.Stack
                        SAT.Mios.Internal
                        SAT.Mios.Main
                        SAT.Mios.OptionParser
--                        SAT.Mios.Ranking
                        SAT.Mios.Solver
                        SAT.Mios.Types
                        SAT.Mios.Validator
                        SAT.Mios.Util.CNFIO
                        SAT.Mios.Util.CNFIO.MinisatReader
                        SAT.Mios.Util.CNFIO.Reader
                        SAT.Mios.Util.CNFIO.Writer
                        SAT.Mios.Util.BoolExp