make quasiquoter (and haskell-src-exts dependency) optional
This commit is contained in:
parent
eaf07f8981
commit
9269caacb7
2 changed files with 30 additions and 9 deletions
|
@ -34,6 +34,11 @@ common build-settings
|
|||
default-language: Haskell2010
|
||||
ghc-options: -Wall -Wunused-packages
|
||||
|
||||
flag quoter
|
||||
manual: True
|
||||
description: Include the quasiquoter
|
||||
default: True
|
||||
|
||||
flag checked
|
||||
manual: True
|
||||
description: Add bounds-checking to primitive array operations
|
||||
|
@ -48,7 +53,6 @@ library
|
|||
Data.Bytes.Builder.Bounded.Class
|
||||
Data.Bytes.Builder.Bounded.Unsafe
|
||||
Data.Bytes.Builder.Class
|
||||
Data.Bytes.Builder.Template
|
||||
Data.Bytes.Builder.Unsafe
|
||||
|
||||
other-modules:
|
||||
|
@ -60,17 +64,21 @@ library
|
|||
, base >=4.17.0.0 && <4.21
|
||||
, byteslice >=0.2.6 && <0.3
|
||||
, bytestring >=0.10.8.2 && <0.13
|
||||
, haskell-src-meta >=0.8.13
|
||||
, integer-logarithms >=1.0.3 && <1.1
|
||||
, natural-arithmetic >=0.1 && <0.3
|
||||
, primitive-offset >=0.2 && <0.3
|
||||
, run-st >=0.1.2 && <0.2
|
||||
, template-haskell >=2.16
|
||||
, text >=2.0 && <2.2
|
||||
, text-short >=0.1.3 && <0.2
|
||||
, wide-word >=0.1.0.9 && <0.2
|
||||
, zigzag
|
||||
|
||||
if flag(quoter)
|
||||
build-depends:
|
||||
haskell-src-meta >=0.8.13
|
||||
, template-haskell >=2.16
|
||||
exposed-modules: Data.Bytes.Builder.Template
|
||||
|
||||
if impl(ghc >=9.2)
|
||||
hs-source-dirs: src-9.2
|
||||
|
||||
|
@ -112,9 +120,14 @@ test-suite test
|
|||
, tasty-hunit >=0.10.0.2 && <0.11
|
||||
, tasty-quickcheck >=0.10.1 && <0.11
|
||||
, text >=2.0 && <2.2
|
||||
, text-short
|
||||
, wide-word >=0.1.0.9 && <0.2
|
||||
|
||||
default-extensions: CPP
|
||||
|
||||
if flag(quoter)
|
||||
cpp-options: -DQUOTER
|
||||
build-depends: text-short
|
||||
|
||||
benchmark bench
|
||||
import: build-settings
|
||||
type: exitcode-stdio-1.0
|
||||
|
|
18
test/Main.hs
18
test/Main.hs
|
@ -12,13 +12,10 @@ import Prelude hiding (replicate)
|
|||
import Control.Applicative (liftA2)
|
||||
import Control.Monad.ST (runST)
|
||||
import Data.Bytes.Builder
|
||||
import Data.Bytes.Builder.Template (bldr)
|
||||
import Data.Bytes.Types (MutableBytes (MutableBytes))
|
||||
import Data.Char (chr, ord)
|
||||
import Data.IORef (IORef, newIORef, readIORef, writeIORef)
|
||||
import Data.Maybe (fromMaybe)
|
||||
import Data.Primitive (ByteArray, PrimArray)
|
||||
import Data.Text.Short (ShortText)
|
||||
import Data.WideWord (Word128 (Word128), Word256 (Word256))
|
||||
import Data.Word
|
||||
import Numeric.Natural (Natural)
|
||||
|
@ -28,16 +25,20 @@ import Test.Tasty (TestTree, defaultMain, testGroup)
|
|||
import Test.Tasty.HUnit ((@=?))
|
||||
import Text.Printf (printf)
|
||||
|
||||
#ifdef QUOTER
|
||||
import Data.Bytes.Builder.Template (bldr)
|
||||
import Data.Maybe (fromMaybe)
|
||||
import Data.Text.Short (ShortText)
|
||||
#endif
|
||||
|
||||
import qualified Arithmetic.Nat as Nat
|
||||
import qualified Data.Bits as Bits
|
||||
import qualified Data.ByteString as ByteString
|
||||
import qualified Data.ByteString.Builder as BB
|
||||
import qualified Data.ByteString.Lazy.Char8 as LB
|
||||
import qualified Data.Bytes as Bytes
|
||||
import qualified Data.Bytes.Builder as Builder
|
||||
import qualified Data.Bytes.Builder.Bounded as Bounded
|
||||
import qualified Data.Bytes.Chunks as Chunks
|
||||
import qualified Data.Bytes.Text.Ascii as Ascii
|
||||
import qualified Data.Bytes.Text.Latin1 as Latin1
|
||||
import qualified Data.List as L
|
||||
import qualified Data.Primitive as PM
|
||||
|
@ -48,6 +49,11 @@ import qualified Test.Tasty.HUnit as THU
|
|||
import qualified Test.Tasty.QuickCheck as TQC
|
||||
import qualified Prelude
|
||||
|
||||
#ifdef QUOTER
|
||||
import qualified Data.Bytes.Builder as Builder
|
||||
import qualified Data.Bytes.Text.Ascii as Ascii
|
||||
#endif
|
||||
|
||||
import qualified HexWord64
|
||||
import qualified Word16Tree
|
||||
|
||||
|
@ -329,6 +335,7 @@ tests =
|
|||
]
|
||||
@=? map Exts.toList (Exts.toList res)
|
||||
]
|
||||
#ifdef QUOTER
|
||||
, testGroup
|
||||
"bytes templates"
|
||||
[ THU.testCase "A" $ do
|
||||
|
@ -352,6 +359,7 @@ tests =
|
|||
msg = Chunks.concat . Builder.run 200 $ msgBuilder
|
||||
in Ascii.fromString "there are 137 lights!" @=? msg
|
||||
]
|
||||
#endif
|
||||
]
|
||||
|
||||
bytesOntoRef ::
|
||||
|
|
Loading…
Add table
Reference in a new issue