-
Notifications
You must be signed in to change notification settings - Fork 24
/
hatrace.cabal
108 lines (103 loc) · 4.03 KB
/
hatrace.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: hatrace
version: 0.1.0.0
synopsis: strace as a library; inspect and intercept system calls
description: Gives programmatic access to recording, analysing and intercepting
a given program's system calls, signals, and memory contents.
homepage: https://github.com/nh2/hatrace#readme
license: MIT
license-file: LICENSE
author: Niklas Hambüchen <mail@nh2.me>, Tom Sydney Kerckhove <syd.kerckhove@gmail.com>
maintainer: Niklas Hambüchen <mail@nh2.me>
copyright: Copyright: (c) 2016 Tom Sydney Kerckhove, 2019 Niklas Hambüchen
category: System
build-type: Simple
cabal-version: >=1.10
extra-source-files:
README.md
Makefile
stack.yaml
example-programs/*.asm
-- Cabal cannot currently include them with a wildcard,
-- see https://github.com/haskell/cabal/issues/5883,
-- so we must currently enumerate them manually.
syscalls-table/tables/syscalls-x86_64
syscalls-table/tables/syscalls-i386
library
hs-source-dirs: src
c-sources: cbits/fork-exec-ptrace.c
exposed-modules: System.Hatrace
System.Hatrace.Format
System.Hatrace.Main
System.Hatrace.Signals
System.Hatrace.SyscallTables
System.Hatrace.SyscallTables.Generated
System.Hatrace.SyscallTables.Util
System.Hatrace.Types
System.Hatrace.Types.Internal
System.Hatrace.Types.TH
build-depends: aeson
, base >= 4.7 && < 5
, bytestring
, conduit
, containers
, directory
, filepath
, linux-ptrace
, optparse-applicative
, posix-waitpid
, process
, template-haskell
, text
, th-abstraction
, time
, unix
, unliftio
, unliftio-core
-- we can't add required constraint >= 0.68.6 here because hsc2hs
-- shipped with GHC 8.8.* reports incorrect version
build-tools: hsc2hs
if os(linux)
-- On Linux with glibc, POLLRDHUP support must be enabled
-- manually; see `man 2 poll`. We control this with this macro.
-- By the way: musl libc supports POLLRDHUP unconditionally,
-- see https://git.musl-libc.org/cgit/musl/commit/?id=8442358d9dfc78261a5eab1f2cb13861c6e13207
cpp-options: -DUSE_POLL_POLLRDHUP
ghc-options: -Wall
default-language: Haskell2010
executable hatrace
hs-source-dirs: app
main-is: Main.hs
build-depends: base
, hatrace
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
default-language: Haskell2010
test-suite hatrace-test
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules: HatraceSpec
build-depends: base
, bytestring
, conduit
, containers
, directory
, filepath
, hatrace
, hspec
, process
, temporary
, text
, unix
, unliftio
, unliftio-core
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
if os(linux)
-- See note on `DUSE_POLL_POLLRDHUP` above.
--
-- `USE_POLLING_WITH_SIGMASK` is used for polling syscalls, which
-- are supported only on Linux (pselect, ppoll, epoll_pwait)
cpp-options: -DUSE_POLL_POLLRDHUP -DUSE_POLLING_WITH_SIGMASK
default-language: Haskell2010
source-repository head
type: git
location: https://github.com/nh2/hatrace