@@ -20,6 +20,9 @@ extra-source-files: c/helper.h,
2020 libyaml/yaml.h,
2121 libyaml/LICENSE
2222
23+flag system-libyaml
24+ description: Use the system-wide libyaml instead of the bundled copy
25+
2326flag nolib
2427 description: Skip building the library
2528 default: False
@@ -40,15 +43,18 @@ library
4043 ghc-options: -Wall
4144 c-sources: c/helper.c
4245 include-dirs: c
43− c-sources: libyaml/api.c,
44− libyaml/dumper.c,
45− libyaml/emitter.c,
46− libyaml/loader.c,
47− libyaml/parser.c,
48− libyaml/reader.c,
49− libyaml/scanner.c,
50− libyaml/writer.c
51− include-dirs: libyaml
46+ if flag(system-libyaml)
47+ pkgconfig-depends: yaml-0.1
48+ else
49+ c-sources: libyaml/api.c,
50+ libyaml/dumper.c,
51+ libyaml/emitter.c,
52+ libyaml/loader.c,
53+ libyaml/parser.c,
54+ libyaml/reader.c,
55+ libyaml/scanner.c,
56+ libyaml/writer.c
57+ include-dirs: libyaml
5258
5359executable runtests
5460 if flag(buildtests)
@@ -68,13 +74,16 @@ executable runtests
6874 ghc-options: -Wall
6975 c-sources: c/helper.c
7076 include-dirs: c
71− c-sources: libyaml/api.c,
72− libyaml/dumper.c,
73− libyaml/emitter.c,
74− libyaml/loader.c,
75− libyaml/parser.c,
76− libyaml/reader.c,
77− libyaml/scanner.c,
78− libyaml/writer.c
79− include-dirs: libyaml
77+ if flag(system-libyaml)
78+ pkgconfig-depends: yaml-0.1
79+ else
80+ c-sources: libyaml/api.c,
81+ libyaml/dumper.c,
82+ libyaml/emitter.c,
83+ libyaml/loader.c,
84+ libyaml/parser.c,
85+ libyaml/reader.c,
86+ libyaml/scanner.c,
87+ libyaml/writer.c
88+ include-dirs: libyaml
8089 main-is: runtests.hs