@@ -51,9 +51,11 @@ extra-source-files:
5151 examples/*.cabal
5252 examples/*.hs
5353 examples/Twitter/*.hs
54+ ffi/Data/Aeson/Parser/*.hs
5455 include/*.h
5556 tests/JSONTestSuite/test_parsing/*.json
5657 tests/JSONTestSuite/test_transform/*.json
58+ pure/Data/Aeson/Parser/*.hs
5759
5860flag developer
5961 description: operate in developer mode
@@ -77,6 +79,7 @@ flag cffi
7779
7880library
7981 default-language: Haskell2010
82+ hs-source-dirs: .
8083
8184 exposed-modules:
8285 Data.Aeson
@@ -156,18 +159,25 @@ library
156159
157160 include-dirs: include
158161 if impl(ghcjs) || !flag(cffi)
159− hs-source-dirs: . pure
162+ hs-source-dirs: pure
163+ other-modules: Data.Aeson.Parser.UnescapePure
160164 else
161− c-sources: cbits/unescape_string.c
165+ c-sources: cbits/unescape_string.c
162166 cpp-options: -DCFFI
163− hs-source-dirs: . ffi
167+ hs-source-dirs: ffi
168+ other-modules: Data.Aeson.Parser.UnescapeFFI
164169
165170test-suite tests
166171 default-language: Haskell2010
167− type: exitcode-stdio-1.0
168− hs-source-dirs: tests
169− main-is: Tests.hs
172+ type: exitcode-stdio-1.0
173+ hs-source-dirs: tests ffi pure
174+ main-is: Tests.hs
175+ c-sources: cbits/unescape_string.c
176+ ghc-options: -Wall -threaded -rtsopts
177+
170178 other-modules:
179+ Data.Aeson.Parser.UnescapeFFI
180+ Data.Aeson.Parser.UnescapePure
171181 DataFamilies.Properties
172182 DataFamilies.Instances
173183 DataFamilies.Encoders
@@ -183,8 +193,6 @@ test-suite tests
183193 UnitTests
184194 UnitTests.NullaryConstructors
185195
186− ghc-options: -Wall -threaded -rtsopts
187−
188196 build-depends:
189197 HUnit,
190198 QuickCheck >= 2.8 && <2.9.3,