on master help sign in
Support system libyaml via a flag
5824dacJoachim Breitner
yaml.cabal+27−18
@@ -20,6 +20,9 @@ extra-source-files: c/helper.h,
20 libyaml/yaml.h,
20 libyaml/yaml.h,
21 libyaml/LICENSE
21 libyaml/LICENSE
22
22
23+flag system-libyaml
24+ description: Use the system-wide libyaml instead of the bundled copy
25+
23flag nolib
26flag nolib
24 description: Skip building the library
27 description: Skip building the library
25 default: False
28 default: False
@@ -40,15 +43,18 @@ library
40 ghc-options: -Wall
43 ghc-options: -Wall
41 c-sources: c/helper.c
44 c-sources: c/helper.c
42 include-dirs: c
45 include-dirs: c
46+ if flag(system-libyaml)
47+ pkgconfig-depends: yaml-0.1
48+ else
43− c-sources: libyaml/api.c,
49+ c-sources: libyaml/api.c,
44− libyaml/dumper.c,
50+ libyaml/dumper.c,
45− libyaml/emitter.c,
51+ libyaml/emitter.c,
46− libyaml/loader.c,
52+ libyaml/loader.c,
47− libyaml/parser.c,
53+ libyaml/parser.c,
48− libyaml/reader.c,
54+ libyaml/reader.c,
49− libyaml/scanner.c,
55+ libyaml/scanner.c,
50− libyaml/writer.c
56+ libyaml/writer.c
51− include-dirs: libyaml
57+ include-dirs: libyaml
52
58
53executable runtests
59executable runtests
54 if flag(buildtests)
60 if flag(buildtests)
@@ -68,13 +74,16 @@ executable runtests
68 ghc-options: -Wall
74 ghc-options: -Wall
69 c-sources: c/helper.c
75 c-sources: c/helper.c
70 include-dirs: c
76 include-dirs: c
77+ if flag(system-libyaml)
78+ pkgconfig-depends: yaml-0.1
79+ else
71− c-sources: libyaml/api.c,
80+ c-sources: libyaml/api.c,
72− libyaml/dumper.c,
81+ libyaml/dumper.c,
73− libyaml/emitter.c,
82+ libyaml/emitter.c,
74− libyaml/loader.c,
83+ libyaml/loader.c,
75− libyaml/parser.c,
84+ libyaml/parser.c,
76− libyaml/reader.c,
85+ libyaml/reader.c,
77− libyaml/scanner.c,
86+ libyaml/scanner.c,
78− libyaml/writer.c
87+ libyaml/writer.c
79− include-dirs: libyaml
88+ include-dirs: libyaml
80 main-is: runtests.hs
89 main-is: runtests.hs